![](/img/trans.png)
[英]Replace value of a given key with value of another given key in Python Dictionary
[英]Ordering a dictionary by a given key value
我正在研究如何使用Python(我是新手)处理csv文件并下载下表 ,它有89个条目,各种奥斯卡给女性女演员。 当我想要特定的排序时,我在环绕字典中的键/值时遇到了问题...在这种情况下,按照年龄对女演员进行排序。
我已经尝试了一些在这里搜索的解决方案,但无法理解或将其应用于我的代码(目前非常简单)。 我所知道的是我的OrderedDict对象里面有一个字典,并且每个键都有一个元组值,例如:
[OrderedDict([('Index', '1'), ('Year', '1928'), ('Age', '22'), ('Name', 'Janet Gaynor'), ('Movie', 'Seventh Heaven, Street Angel and Sunrise: A Song of Two Humans')]).
当前代码只是将一切打印到控制台:
import csv
results = []
with open('oscar_age_female.csv') as File:
reader = csv.DictReader(File)
for row in reader:
results.append(row)
print(results)
为了正确读取csv,您需要添加skipinitialspace,否则正在解析其名称中包含逗号的电影。
import csv
results = []
with open('oscar_age_female.csv') as File:
reader = csv.DictReader(File, skipinitialspace=True)
for row in reader:
results.append(row)
一旦添加了上述步骤,通过键对字典列表进行排序是微不足道的:
print(sorted(results, key=lambda k: k['Age'])) # Youngest to oldest
print(sorted(results, key=lambda k: k['Age'], reverse=True)) # Oldest to youngest
这是一个关于按键排序dicts列表的好帖子
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.