我試圖在這里使用defaultdict函式,但這似乎并不奏效
s = {"Ram"/span>: "Chennai"/span>, "Laxman"/span>: "Mumbai", "Stephen": "Chennai"}。
d = defaultdict(list)
for k, v in s:
d[k].append(v)
sorted(d.items())
print(d)
uj5u.com熱心網友回復:
這應該對你有用:
這應該對你有用。
from collections import defaultdict
s = {"Ram"/span>: "Chennai"/span>, "Laxman"/span>: "Mumbai", "Stephen": "Chennai"}。
d = defaultdict(list)
for k, v in s.items()。
d[v].append(k)
sorted(d.items())
print(d)
輸出:
defaultdict(<class 'list'>, {'chenai': ['Ram', 'Stephen'], 'Mumbai': ['Laxman']})
uj5u.com熱心網友回復:
你試圖同時遍歷鍵和值,所以你必須使用s.items()來獲得兩個鍵值對作為圖元。[('Ram', 'Chennai'), ('Laxman', 'Mumbai'), ('Stephen', 'Chennai')]/code>
from collections import defaultdict
s = {"Ram"/span>: "Chennai"/span>, "Laxman"/span>: "Mumbai", "Stephen": "Chennai"}。
d = defaultdict(list)
for k, v in s.items()。
d[v].append(k) # Append k而不是v。
sorted(d.items())
print(d) # {'Chennai': ['Ram', 'Stephen'], 'Mumbai': ['Laxman']}
uj5u.com熱心網友回復:
你通過key和val迭代一個dict而沒有呼叫items(),同時新的dict應該有keys與城市名稱,因此必須在for回圈中交換v和k。以下是代碼:
from collections import defaultdict
s = {"Ram"/span>: "Chennai"/span>, "Laxman"/span>: "Mumbai", "Stephen": "Chennai"}。
d = defaultdict(list)
for k, v in s.items()。
d[v].append(k)
sorted(d.items())
print(d)
輸出:
defaultdict(<class 'list'>, {'chenai': ['Ram', 'Stephen'], 'Mumbai': ['Laxman']})
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/311628.html
標籤:
