列表中的Python字典(拉个人值)
我有一个包含字典的列表 –
[{'Name of Business' : 'Amazon', 'Contact Name' : 'Jeff Bezos', 'Email' : 'Jeff@Amazon.com'}, { {'Name of Business' : 'Microsoft', 'Contact Name' : 'Bill Gates', 'Email' : 'Bill@Microsoft.com'}]
我稍后需要将每个业务名称,联系人姓名等保存到一个variables中,或者有一个简单的方法来调用它们以便重用。
我发现使用类似的东西
for x in dict_list: print x["Client"], x['Contact Name'], x['Email']
给我打印所有的数据:
亚马逊Jeff Bezos Jeff@Amazon.com
微软比尔盖茨Bill@Microsoft.com
但是,如果我只想从第一个条目的信息呢?
如果我想将每个字典条目的数据保存到一个单独的variables呢?
运用
first_entry = dict_list[0] print first_entry["Client"], first_entry['Contact Name'], first_entry['Email']
但是必须有一些方法可以在一行中做到这一点,而不是先创build另一个variables?
感谢任何帮助,我可以得到!
只是不要创build该variables:
print dict_list[0]["Client"], dict_list[0]['Contact Name'], dict_list[0]['Email']
或者在一个循环中:
idx = [1] for i in idx: print dict_list[i]["Client"], dict_list[i]['Contact Name'], dict_list[i]['Email']
print dict_list[0]["Client"], dict_list[0]['Contact Name'], dict_list[0]['Email']
你的问题是你用来存储数据的结构。 我会build议使用一个pandas数据框来处理您的数据根据您需要的操作:
import pandas as pd df = pd.DataFrame(l) #Out[5]: # Contact Name Email Name of Business #0 Jeff Bezos Jeff@Amazon.com Amazon #1 Bill Gates Bill@Microsoft.com Microsoft
每个字典条目对应一个列。 您可以按照一系列的方式访问第一个条目:
df['Name of Business'] #Out[9]: #0 Amazon #1 Microsoft #Name: Name of Business, dtype: object
或者作为一个列表:
df['Name of Business'].tolist() #Out[8]: ['Amazon', 'Microsoft']
如果我想将每个字典条目的数据保存到一个单独的variables呢?
你可以使用一个列表理解或map()
来实现这个,比如第一个列表元素:
client, contact, email = map(dict_list[0].get, ("Client", "Contact Name", "Email"))