我有以下Tupletup
,并想将其转换为字典。我发现似乎有效的代码。但是,当我尝试自己的for循环时,会出现错误。有人可以向我解释为什么dict(y,x)在第一张印刷品中被允许,而另一张却给出例外吗?
tup = ((2,'x'),(3,'a'))
#CORRECT CODE
print(dict((y, x) for x, y in tup)) #output: {'x':2, 'a':3}
#my own for loop, that throws the type error
for x, y in tup:
print(dict(y,x)) #output: TypeError dict expected at most
# 1 argument, got 2
这两个循环之间的区别在哪里?
问题来源:stackoverflow
正确的代码等效于:
output = {}
tup = ((2,'x'),(3,'a'))
for x, y in tup:
output[y] = x
这也等效于:
tup = ((2,'x'),(3,'a'))
output = {y:x for (x,y) in tup}
它将元组的每个元素的键值对添加到新字典中。
回答来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。