Lar*_*gas 3 python tuples list
为什么t在制作它时会访问元素tuple?
>>> t = [('ID','int')]
>>> for r in t:
print r
('ID', 'int')
t = (('ID','int'))
>>> for r in t:
print r
ID
int
Run Code Online (Sandbox Code Playgroud)
我希望这与第一个例子完全一样!尽管使用多个元素填充元组,行为也会发生变化.
>>> t = (('ID','int'),('DEF','str'))
>>> for r in t:
print r
('ID', 'int')
('DEF', 'str')
>>> t = [('ID','int'),('DEF','str')]
>>> for r in t:
print r
('ID', 'int')
('DEF', 'str')
Run Code Online (Sandbox Code Playgroud)
有人能简单解释一下吗?我正在运行python 2.7
Bil*_*nch 14
(('a', 'b'))是一样的('a', 'b').
你真的想要 (('a', 'b'),)
这在此处记录:
expression_list ::= expression ( "," expression )* [","]包含至少一个逗号的表达式列表产生一个元组.元组的长度是列表中表达式的数量.表达式从左到右进行评估.
尾随逗号只需要创建一个元组(也就是单个元素); 在所有其他情况下它是可选的.没有尾随逗号的单个表达式不会创建元组,而是生成该表达式的值.(要创建一个空元组,请使用一对空括号:().)
请记住,没有这个限制,表达式(3) * (4)应该是两个数字或两个元组的乘法吗?大多数用户都希望这是数字的乘法.