Python字符串神奇地转换为元组.为什么?

kra*_*r65 3 python string casting tuples

我有一个dict,其中我加载了一些信息,其中一个名称是一个普通的字符串.但不知何故,当我将它分配给dict中的一个键时,它会转换为一个元组,我不知道为什么.

这是我的一些代码:

sentTo = str(sentTo)
print type(sentTo), sentTo
ticketJson['sentTo'] = sentTo,
print type(ticketJson['sentTo']), ticketJson['sentTo']
Run Code Online (Sandbox Code Playgroud)

在我的终端输出以下内容:

<type 'str'> Pete Chasin
<type 'tuple'> ('Pete Chasin',)
Run Code Online (Sandbox Code Playgroud)

为什么将它分配给dict会将其转换为元组?

Mar*_*ers 14

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

ticketJson['sentTo'] = sentTo,
#                            ^
Run Code Online (Sandbox Code Playgroud)

它是定义元组的逗号.只需要括号来消除元组与逗号的其他用法的歧义,例如在函数调用中.

括号表单部分:

请注意,元组不是由括号组成,而是使用逗号运算符.唯一的例外是空元组,需要括号- 在表达式中允许不带括号 "无"会导致含糊不清并允许常见错别字传递未被捕获.

表达式列表:

包含至少一个逗号的表达式列表产生一个元组.元组的长度是列表中表达式的数量.表达式从左到右进行评估.