簡體   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