Python List创建字典问题~
PHP中文网
PHP中文网 2017-04-17 13:23:29
0
3
410
PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(3)
刘奇

其實是無法建構的,字典鍵值對需要唯一對應,End

小葫芦

雷雷

伊谢尔伦

因為你的l1長度小於l2,而你希望l1為字典的鍵,l2為字典的值,這就會造成一個問題:以較少的鍵對應更多的值去構成字典,這就勢必導致l1中的鍵需要重複利用,但這與字典的鍵不可重複就產生了衝突,因為一個字典裡是不允許出現兩個“a”鍵的。
當然,如果反過來,以l2為鍵,l1為值,則不存在這個問題,例如形成:

{1:'a', 2:'b', 3:'c', 4:'a', 5:'b', 6:'c'}

是完全沒有問題的,要實現這種,可以這麼寫:

dict(zip(l2,len(l2)//len(l1)*l1+l1[0:len(l2)%len(l1)]))

# 这是在 python 3.x 下的写法,如果是 py 2.x 请将 '//' 写成 '/'

運行結果:

{1: 'a', 2: 'b', 3: 'c', 4: 'a', 5: 'b', 6: 'c'}
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板