我真的不知道我是如何偶然发现的,我不知道该怎么想,但显然[] = []
是python中的合法操作,[] = ''
也是如此,但是'' = []
是不允许的。它似乎没有任何影响,但我想知道:到底是什么?
答案 0 :(得分:3)
这与Python的多重赋值(序列解包)有关:
a, b, c = 1, 2, 3
的作用与:
相同[a, b, c] = 1, 2, 3
由于字符串是字符序列,您也可以这样做:
a, b, c = "abc" # assign each character to a variable
您发现的是退行性病例:两侧空序列。在语法上有效,因为它是左边的列表而不是元组。很好找;从来没有想过尝试过!
有趣的是,如果你尝试使用左侧的空元组,Python会抱怨:
() = () # SyntaxError: can't assign to ()
看起来Python开发人员忘了关闭一点漏洞!
答案 1 :(得分:1)
在python上搜索打包/解包时,你会找到你的答案。 这基本上是为了一次性分配多个变量。
>>> [a,v] = [2,4]
>>> print a
2
>>> print v
4