python中迭代元组的逻辑

2024-06-17 12:21:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我可以看到,s1,s2,s3都会导致相同的结果。 (给出每个元组的第2个元素)

为什么会这样

train = ((1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e') )
s1 = tuple([x for s, x in train])
s2 = tuple([x for ss, x in train])
s3 = tuple([x for sss, x in train])

Tags: in元素fors3trainss元组s2
3条回答

它们只是同一事物的不同名称。您可以用a替换s,用b替换x,或者用您选择的任何其他变量名替换,结果仍然相同。第一个变量(不管你给它起什么名字)将得到元组的第一个元素,而第二个变量将得到第二个值。之后,您只需要x,这意味着每个元组的第二部分进入新列表

ssssss只是变量名。代码的其余部分是相同的,因为在不更改变量名称的情况下,逻辑会给出不同的结果

如果您使用此表单:

train = ((1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e') )
s1 = tuple([x for s, x in train])
s2 = tuple([x for s, x in train])
s3 = tuple([x for s, x in train])

然后s1 == s2 == s3。因为s, ss, sss只是包含元组第一个值的名称

相关问题 更多 >