为什么元组列表可以转换为字典,而元组的元组不能
Why a list of tuples can be converted to dict where as tuple of tuples can't be
请尝试执行这个你应该明白我的问题
a=[(x,1)]
b=((x,1))
c=((x,1),)
dict(a) #runs successfully
dict(b) # gives error
dict(c) #runs successfully
我想了解为什么 a 和 c 有效而 b 无效??
变量“a”和“c”具有相同的结构,一个可迭代对象包含一个键值对{x: 1},而变量“b”的赋值语句只是((x,1) ), 所以 python 执行它相当于 (x,1) 因为只有一个元素的元组赋值语句需要有结束逗号来表示它是一个“元组”,否则它只是括号。 Python 并没有真正理解这种结构作为“键值”对。
请尝试执行这个你应该明白我的问题
a=[(x,1)]
b=((x,1))
c=((x,1),)
dict(a) #runs successfully
dict(b) # gives error
dict(c) #runs successfully
我想了解为什么 a 和 c 有效而 b 无效??
变量“a”和“c”具有相同的结构,一个可迭代对象包含一个键值对{x: 1},而变量“b”的赋值语句只是((x,1) ), 所以 python 执行它相当于 (x,1) 因为只有一个元素的元组赋值语句需要有结束逗号来表示它是一个“元组”,否则它只是括号。 Python 并没有真正理解这种结构作为“键值”对。