python:在制作列表列表时,我必须将它们包含在方括号中吗?

时间:2015-07-14 10:02:57

标签: python list python-2.7

以下是什么区别:

x = [1,1,1], [1,1,1], [1,1,1], [1,1,1]

x = [[1,1,1], [1,1,1], [1,1,1], [1,1,1]]

第二个选项周围的方括号可以做什么吗?

4 个答案:

答案 0 :(得分:7)

x = [1,1,1], [1,1,1], [1,1,1], [1,1,1]

将创建一个包含列表的元组

x = [[1,1,1], [1,1,1], [1,1,1], [1,1,1]]

将创建列表

列表

即。)

x = [1,1,1], [1,1,1], [1,1,1], [1,1,1]
x
([1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1])
type(x)
<type 'tuple'>

"a","b"
('a', 'b')

答案 1 :(得分:2)

第一个创建列表元组,而第二个创建列表列表。

元组是不可变的,而列表是可变的。

第一个例子 -

>>> x = [1,1,1], [1,1,1], [1,1,1], [1,1,1]
>>> x
([1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1])
>>> x[0] = 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

第二个例子 -

>>> x = [[1,1,1], [1,1,1], [1,1,1], [1,1,1]]
>>> x
[[1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1]]
>>> x[0] = 1
>>> x
[1, [1, 1, 1], [1, 1, 1], [1, 1, 1]]

答案 2 :(得分:2)

没有括号,它是一个元组:

>>> x = [1,1,1], [1,1,1], [1,1,1], [1,1,1]
>>> x
([1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1])
>>> type(x)
<type 'tuple'>

您无法修改元组中的项目。

使用[]是一个列表:

>>> x = [[1,1,1], [1,1,1], [1,1,1], [1,1,1]]
>>> x
[[1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1]]
>>> type(x)
<type 'list'>

答案 3 :(得分:2)

第一个与执行此操作相同:

x = ([1,1,1], [1,1,1], [1,1,1], [1,1,1])

这是一个列表元组。