按索引获取元素[Python]

2024-09-29 21:50:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我做这个练习是为了在不使用字典的情况下,在一些给定的文章中找到特定人群的数量。在

当我试图使用元素的索引从列表中获取元素时,我遇到了一个问题。具体来说,假设我有3个列表:

[u'Putin', u'Fattah', u'Vladimir',u'Cameron', u'Bashar', u'al-Baghdadi']
counts : [3, 6, 1, 1, 1, 0]
results: [6, 6, 1, 1, 1, 0]
Sorted results: [6, 6, 1, 1, 1, 0]

第一个列表包含人名,第二个是他们的计数,第三个列表是应用公式导出的,第四个列表是排序后的第三个列表。在

考虑到我需要比较两个或三个更高的值,并在执行此操作时返回最常提到的人:

^{pr2}$

我回来了:

^{3}$

我想回去的地方是:

1 Putin
2 Fattah

你知道不使用词典是否可行吗?在

提前谢谢你。在


Tags: 元素列表数量字典文章情况resultsal
1条回答
网友
1楼 · 发布于 2024-09-29 21:50:09

我会把它们都压缩在一起,这样你就有了一个列表,比如[('Putin',3,6),('Fattah',6,6),…]。然后可以按元组的第二个元素(结果)进行排序。在

names = [u'Putin', u'Fattah', u'Vladimir',u'Cameron', u'Bashar', u'al-Baghdadi']
counts = [3, 6, 1, 1, 1, 0]
results = [6, 6, 1, 1, 1, 0]

all_vals = zip(names, counts, results)
in_order = sorted(all_vals, key = lambda x: x[2], reverse = True)
print in_order
print in_order[0][0] #Putin
print in_order[1][0] #Fattah

for i,e in enumerate(in_order):
     print i, e[0]

# 0 Putin
# 1 Fattah
# 2 Vladimir
# ...

相关问题 更多 >

    热门问题