繁体   English   中英

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

[英]Python string converts magically to tuple. Why?

我有一个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,
#                            ^

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

括号表单部分

请注意,元组不是由括号组成,而是使用逗号运算符。 唯一的例外是空的元组,为此括号必需的-允许在表达式中括号的“一无所有”会引起歧义,并允许普通错别字通过未捕获。

表达式列表

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

ticketJson['sentTo'] = sentTo,是单元素元组

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM