[英]Convert elements in ONE list to keys and values in a dictionary
我正在尋找一種將列表轉換為字典的方法,如下所示。 這可能嗎? 提前致謝。
列表 = ["1/a", "2/b", "3/c"]
dict = {"1": "a", "2": "b", "3": "c"}
當然這是可能的。
首先,您可以使用e.split("/")
拆分列表的元素,這將給出一個列表,例如splitted = ["1", "a"]
。 您可以將第一個元素分配給鍵,將第二個元素分配給值:
k = splitted[0]
v = splitted[1]
或另一種表達方式:
k,v = splitted
然后你可以迭代你的列表來構建你的字典,所以如果我們把它包起來(你不應該調用一個列表list
因為list
是一種類型和一個已經存在的標識符:
d = {}
for e in elements:
k,v = e.split("/")
d[k] = v
您也可以在一行中使用 dict 理解來做到這一點:
d = {k:v for k,v in [e.split("/") for e in elements]}
是的你可以。
如果您想在“/”(即第二個字符)之后擁有所有內容,您可以執行以下操作:
dict = {c[0]:c[2:] for c in list}
如果您想在 '/' 之后擁有所有內容(但可能不是第二個字符),您可以執行以下操作:
dict = {c[0]:c.split('/')[1] for c in list}
這實際上取決於您擁有的輸入以及您想要的輸出
你可以這樣做。
lista = ["1/a", "2/b", "3/c"]
new_dict = {}
for val in lista:
new_dict.update({val[0]:val[2]})
print(new_dict)
嘗試這個
list = ["1as/aasc", "2sa/bef", "3edc/cadeef"]
dict = {i.split('/')[0]:i.split('/')[1] for i in list}
答案將是
{'1as': 'aasc', '2sa': 'bef', '3edc': 'cadeef'}
我給出了一個不同的測試用例。 希望這能回答你的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.