我有這樣一本字典:如何從只有一個項目的按鍵中移除括號?
d = {1: ['a', 'b', 'c'], 2: ['d'], 3: ['e','f'], 4: ['g'], 5: ['h', 'i']}
我想返回字典這樣的:
d = {1: ['a', 'b', 'c'], 2:'d', 3: ['e', 'f'], 4: 'g', 5: ['h', 'i']}
到目前爲止我有:
for values in d.values():
if len(values) == 1:
?strip []?
你已經有了答案了,所以我就補充一點:使這一變化,實際上使你的數據結構很難使用,因爲你必須決定哪些方法來處理它。除非你只是爲了打印目的而這樣做,否則這是一個壞主意。 –
添加到@Austin所說的內容......考慮到列表和字符串都是可迭代的,所以消耗第一個字典列表的顯而易見的方法---遍歷它們的元素---對字符串也是一個非常有效的操作_偶爾會出現在他們的位置。雖然對字符串的單個字符進行操作可能不是您的目標,但它甚至不會產生Python的警告。輸出結果可能不正確,但似乎合理,實際上它比錯誤地看起來更明顯。 –
爲了進一步提高Austin和Kevin的說法:由於Python在列表和字符串之間區分通常非常困難,所以您希望字典中的值的方式會使得難以正確編寫後續代碼,因爲它然後必須以不同的方式處理兩種可能的數據類型,假設它可以區分它們 - 因此,做你想做的事情可能是不明智的。 – martineau