我有一个dict,其中我加载了一些信息,还有一个名字,它是一个简单的字符串。但不知何故,当我把它赋给dict中的一个键时,它会被转换成一个元组,我不知道为什么。
以下是我的一些代码:

sentTo = str(sentTo)
print type(sentTo), sentTo
ticketJson['sentTo'] = sentTo,
print type(ticketJson['sentTo']), ticketJson['sentTo']

在我的终端上输出以下内容:
<type 'str'> Pete Chasin
<type 'tuple'> ('Pete Chasin',)

为什么把它赋给dict会把它转换成元组呢?

最佳答案

您告诉Python创建一个包含字符串的元组:

ticketJson['sentTo'] = sentTo,
#                            ^

定义元组的是逗号括号仅用于消除元组与逗号的其他用法(如在函数调用中)之间的歧义。
Parenthesized forms section开始:
注意元组不是由括号组成的,而是使用逗号运算符。例外情况是空元组,它需要括号-允许表达式中未绑定的“nothing”将导致歧义,并允许常见的拼写错误在未察觉的情况下传递。
Expression lists开始:
包含至少一个逗号的表达式列表生成一个元组。元组的长度是列表中表达式的数目。表达式是从左到右计算的。

10-06 00:49