[英]appending dictionaries to a list
我有一個字典清單
'main_addr': ['test@aol.com','test2@aol.com','test3@aol.com']
'sec_addr' : test4@aol.com
我正在嘗試列出所有這些值,因此我做了
mylist.append(main_addr)
mylist.append(sec_addr)
但是當我打印出我的清單時
['test@aol.com','test2@aol.com','test3@aol.com'],test4@aol.com]
但是我要獲取的只是所有電子郵件的列表,而不是子列表,並且有時sec_add將包含一個列表
你可以做這樣的事情
mylist = []
d = {'main_addr': ['test@aol.com','test2@aol.com','test3@aol.com'] ,'sec_addr' : 'test4@aol.com'}
for items in d.values():
mylist.extend(items if isinstance(items,list) else [items])
print mylist
['test@aol.com', 'test2@aol.com', 'test3@aol.com', 'test4@aol.com']
使用isinstance
方法檢查字典值是否為列表。
>>> d = {'main_addr': ['test@aol.com','test2@aol.com','test3@aol.com'] ,'sec_addr' : 'test4@aol.com'}
>>> mylist = []
>>> for i in d.values():
if isinstance(i,list):
for x in i:
mylist.append(x)
else:
mylist.append(i)
>>> mylist
['test@aol.com', 'test2@aol.com', 'test3@aol.com', 'test4@aol.com']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.