簡體   English   中英

修改列表為Python中的字典

[英]Modify list to dictionary in Python

如何將 email 地址列表轉換為字典,其中鍵是用戶名,值是各自的域。

我做了我的代碼,但它沒有給我正確的答案。 我究竟做錯了什么? 如何接收 3 個鍵和 3 個值?

list1="harry@abc.com , larry@abc.ca , sally@abc.org "
list2=list1.split("@",3)
print({list2[i]:list2[i+1] for i in range(0,len(list2),2)})

>> {'harry': 'abc.com , larry', 'abc.ca , sally': 'abc.org '} 

這里的第一個問題是list1的值是一個字符串,而不是一個列表。 您的代碼應如下所示:

list1 = ["harry@abc.com", "larry@abc.ca", "sally@abc.org"]
dict1 = {}
for email_address in list1:
    name_and_domain = email_address.split("@")
    name = name_and_domain[0]
    domain = name_and_domain[1]
    dict1[name] = domain

或者,如果您必須將list1的值保留為字符串,則可以通過在每個處拆分它來將其轉換為列表,如下所示:

string1 = "harry@abc.com,larry@abc.ca,sally@abc.org"
list1 = string1.split(',')
dict1 = {}
for email_address in list1:
    name_and_domain = email_address.split("@")
    name = name_and_domain[0]
    domain = name_and_domain[1]
    dict1[name] = domain

暫無
暫無

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

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