我是python新手,正在从事一个小项目
NE = [ ("Maine", 30840, 1.329), ("Vermont", 9217, .626), ("New Hampshire", 8953,1.321), ("Massachusetts", 7800, 6.646), ("Connecticut", 4842, 3.59), ("Rhode Island", 1044, 1.05)]
我已经写了下面的代码来按人口降序排序
def s_sort(state):
return state[2]
s_state = sorted(NE,key=s_sort,reverse=True)
print(s_state)
输出:
[('Vermont', 9217, 0.626), ('Rhode Island', 1044, 1.05), ('New Hampshire', 8953, 1.321), ('Maine', 30840, 1.329), ('Connecticut', 4842, 3.59), ('Massachusetts', 7800, 6.646)]
但是,在这个函数中,如何以相同的降序从上述输出返回状态的名称呢?你知道吗
Vermont,Rhode Island,New Hampshire,Maine,Connecticut,Massachusetts
您可以使用列表:
["Vermont", "Rhode Island", "New Hampshire", "Maine", "Connecticut", "Massachusetts"]
More on list comprehension
(或者,是的,您可以使用内置的
map
,正如Malvolio所建议的那样。)添加这行代码就可以了
您需要从列表中的每个元组中“提取”第一个值。Python缺少显式的
pluck
函数,但是可以使用map
。你知道吗(或者,是的,你可以使用理解力,正如福基耶尔建议的那样。)
相关问题 更多 >
编程相关推荐