2024-05-20 21:38:13 发布
网友
我想根据优先键列表检索字典键。 字典看起来像:
My_dic = {'name': 'John', 'age': '33', 'gender':'male', 'car': 'SUV'}
标准清单如下:
My_criteria = ['gender', 'age', 'car', 'name']
这怎么可能是一个Python的方式呢?你知道吗
您可以使用订购的信息:
from collections import OrderedDict My_dic = {'name': 'John', 'age': '33', 'gender':'male', 'car': 'SUV'} My_criteria = ['gender', 'age', 'car', 'name'] My_dic = OrderedDict([(x, My_dic[x]) for x in My_criteria]) # OrderedDict([('gender', 'male'), # ('age', '33'), # ('car', 'SUV'), # ('name', 'John')])
优点是您仍然可以像访问字典一样访问数据(例如My_dic['age'])。你知道吗
My_dic['age']
可以按指定的顺序检索元素
for k in sorted(My_dic, key=My_criteria.index): print(k,":",My_dic.get(k))
由于信息的存储方式(http://www.python-course.eu/dictionaries.php),字典不可排序。你知道吗
您可以使用列表理解创建元组值的新列表,如:
ordered_info = [(i,my_dic[i]) for i in my_criteria]
您可以使用订购的信息:
优点是您仍然可以像访问字典一样访问数据(例如
My_dic['age']
)。你知道吗可以按指定的顺序检索元素
由于信息的存储方式(http://www.python-course.eu/dictionaries.php),字典不可排序。你知道吗
您可以使用列表理解创建元组值的新列表,如:
ordered_info = [(i,my_dic[i]) for i in my_criteria]
相关问题 更多 >
编程相关推荐