簡體   English   中英

轉換列表以在python中自定義字典

[英]convert lists to customize dictionary in python

我想將下面的列表數據轉換為dictionary.how i

['w', 'a', 's', 'x', 'v', 'q']

如何使用鍵將值轉換為字典,但將值轉換為列表:

{'w':'w.jpg', 'a':'a.jpg', 's':'s.jpg', 'x':'x.jpg', 'v':'v.jpg', 'q':'q.jpg'}

我有一個圖片文件夾,我想把它們放在字典中。

>>> l = ['w', 'a', 's', 'x', 'v', 'q']
>>> {e: e+'.jpg' for e in l}
{'w': 'w.jpg', 'a': 'a.jpg', 's': 's.jpg', 'x': 'x.jpg', 'v': 'v.jpg', 'q': 'q.jpg'}

要么

>>> dict(map(lambda x: (x,x+'.jpg'), l))
{'w': 'w.jpg', 'a': 'a.jpg', 's': 's.jpg', 'x': 'x.jpg', 'v': 'v.jpg', 'q': 'q.jpg'}

要么

>>> dict(zip(l,[e+'.jpg' for e in l]))
{'w': 'w.jpg', 'a': 'a.jpg', 's': 's.jpg', 'x': 'x.jpg', 'v': 'v.jpg', 'q': 'q.jpg'}

您可以嘗試使用ziplist comprehension

my_images = dict(zip(names,[i+'.jpg' for i in names]))

輸出:

{'w': 'w.jpg', 'a': 'a.jpg', 's': 's.jpg', 'x': 'x.jpg', 'v': 'v.jpg', 'q': 'q.jpg'}

如果a是你的密鑰,你可以使用value = a + ".jpg"來獲取你的價值。 為此創建字典並不是很有用。

有用的是創建字典並在以后需要時更新它。 在這種情況下,使用字典理解(Python 2.7和更高版本)初始化它:

dct = {a:a+".jpg" for a in ['w', 'a', 's', 'x', 'v', 'q']}

這本詞典沒有帶來任何新內容,因為可以通過簡單的添加從鍵中推導出值。

然后更改值以處理特殊情況:

dct['w'] = "new_w.jpg"

現在,如果您需要處理這樣的情況,字典很有用。 否則避免它。

lst = ['w', 'a', 's', 'x', 'v', 'q']

images = {key:key+".jpg" for key in lst}

輸出:

{'a': 'a.jpg',
 'q': 'q.jpg',
 's': 's.jpg',
 'v': 'v.jpg',
 'w': 'w.jpg',
 'x': 'x.jpg'}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM