繁体   English   中英

通过调用其元素之一为元组编制索引

[英]Index a tuple by calling one of its elements

我正在尝试编写一个可以接受的函数

  1. 具有参加聚会者姓名及其优先级的元组列表,以及
  2. 可以得到的最大人数。 我目前正在尝试根据其元素之一以升序排列元组。

我有一个列表或元组:

 alist =[('Carlos', 1), ('Gretchen', 8), ('Abby', 6),('Sam', 4)]

到目前为止,我已经使用以下代码按顺序列出了所有数字:

 def party_time(alist,maxnum):
     newlist = []
     finallist=[]
     while len(finallist) < maxnum:
        for tup in alist:
            rank = tup[1]
            newlist.append(rank)
        newlist.sort()

 newlist = [1,4,6,8]

有没有一种方法可以使用for循环来遍历newlist并通过使用newlist的数字来索引元组? 还是只索引数字元组中的位置?

应该这样做:

def party_time(alist, maxnum):
    sorted_list = sorted(alist, key=lambda p: p[1], reverse=True)
    return sorted_list[:maxnum]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM