通过调用其中一个元素来索引元组

时间:2017-02-21 04:10:51

标签: python list for-loop tuples

我正在尝试编写一个接受

的函数
  1. 带有派对者姓名及其优先级的元组列表
  2. 可以获得它的最大人数。我目前正在尝试根据其中一个元素按升序排列元组。
  3. 我有一个列表或元组:

     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中的数字索引元组?或者它只是索引数字 in 元组?

1 个答案:

答案 0 :(得分:0)

这应该这样做:

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