[英]Python: What does the use of [] mean here?
python中这两个语句有什么区别?
var = foo.bar
和
var = [foo.bar]
我认为将var变成包含foo.bar的列表但我不确定。 此外,如果这是行为,foo.bar已经是一个列表,你在每种情况下得到什么?
例如:如果foo.bar = [1,2],我会得到这个吗?
var = foo.bar #[1, 2]
和
var = [foo.bar] #[[1,2]] where [1,2] is the first element in a multidimensional list
[]
是一个空列表。
[foo.bar]
正在创建一个新列表( []
),其中foo.bar
作为列表中的第一项,然后可以通过其索引引用:
var = [foo.bar]
var[0] == foo.bar # returns True
所以你猜你的foo.bar = [1,2]
分配是完全正确的。
如果你还没有,我建议在Python交互式解释器中使用这种东西。 这很容易:
>>> []
[]
>>> foobar = [1,2]
>>> foobar
[1, 2]
>>> [foobar]
[[1, 2]]
是的,它正在制作一个包含一个元素foo.bar的列表。
如果foo.bar是[1,2]
,你确实得到[[1,2]]。
例如,
>> a=[]
>> a.append([1,2])
>> a[0]
[1,2]
>> b=[[1,2]]
>> b[0]
[1,2]
详细说明这个确切的例子,
>> class Foos:
>> bar=[1,2]
>> foo=Foos()
>> foo.bar
[1,2]
>> a=[foo.bar]
>> a
[[1,2]]
>> a[0]
[1,2]
我认为将var变成包含foo.bar的列表但我不确定。 此外,如果这是行为,foo.bar已经是一个列表,你在每种情况下得到什么?
是的,它会创建一个新列表。
如果foo.bar
已经是一个列表,它将只是一个包含一个列表的列表。
h[1] >>> l = [1, 2] h[1] >>> [l] [[1, 2]] h[3] >>> l[l][0] [1, 2]
这几乎意味着它是一个数组/列表的东西,foo.bar是列表/数组中的第一项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.