可以说,我有一个巨大的名单,包括电话,电子邮件,网址,他们属于特定的组织/公司/人。电话号码,电子邮件或网址会有所不同。有些人可能不具备像一个字典我想他们组电话号码或电子邮件等分配一个巨大的元素列表到dict列表
a_list = [
"+99112233",
"+39383",
"www.johndoe.com",
"[email protected]".
"+9933933",
"+99883399",
"www.someother.com",
"www.tt.com"
"[email protected]",
"[email protected]",
]
:
contacts = [
{ 'phones': ["+99112233", "+39383"],
'websites': ["www.johndoe.com"],
'emails': ['[email protected]'],
},
{
'phones': ["+9933933","+99883399"],
'websites': ['www.someother.com'],
'emails': []
},
{
'phones': [],
'websites': ['www.tt.com'],
'emails': ['[email protected]', '[email protected]']
}
]
这是到目前为止我的代码:
push_flag = False
contacts = []
phones = []
emails = []
webs = []
for contact in a_list:
text = contact
if text[0]== "+":
if push_flag:
contacts.append({
'phones': phones,
'webs': webs,
'emails':emails,
})
phones = []
webs = []
emails = []
push_flag = False
phones.append(text)
elif text[0:3]=="www":
push_flag = True
webs.append(text)
elif "@" in text:
push_flag = True
emails.append(text)
contacts.append({
'phones': phones,
'webs': webs,
'emails':emails,
})
你的代码有什么问题? – Harsha
为什么生成的'list'包含3个'dicts'?不能将它作为单个字典吗? – voidpro
3个字符意味着他们属于三个不同的公司/个人/组织 – Wasi