有一个格式化的问题,我想要一些额外的见解/理解。我有以下代码:
In[1]:
mylist = [[99]]
for [x] in mylist:
print(x)
Out[1]:
99
我的主要问题是关于第二行中x周围的[]。所以在描述循环的'x‘变量时,我从来没有用过[]。由于我的输出是99而不是99,看起来[]s将要求循环从它的附加括号集中提取数字。
问题已根据回复更新:
如果我更改代码以删除括号:
In[1]:
mylist = [[99]]
for x in mylist:
print(x)
Out[1]:
[99]
我得到99分而不是99分。但是,如果我执行以下操作:
In[1]:
mylist = [[99,100]]
for x,y in mylist:
print(x)
print(y)
Out[1]:
99
100
与前两个示例不同,上面的示例不需要在x,y周围附加一组[],并在输出中生成无括号的答案,前两个示例需要使用[]来生成无括号的答案。
我意识到这是一个奇怪且相当愚蠢的问题,因为我永远不会像这样构造一个单一的元素列表。我只是看到在网上其他地方的答案中随意使用了这一点(不幸的是没有解释)。作为一个新手,我只是好奇地想扩大我对这门语言的理解。
提前谢谢。
发布于 2018-10-12 07:42:14
对于第二个示例,对于长度为2的列表,要解压缩这两个值,您可以执行以下操作
In[1]:
myList = [[99,100]]
for x, y in myList:
print(x)
print(y)
Out[1]:
99
100
https://stackoverflow.com/questions/52770220
复制相似问题