簡體   English   中英

比較python中四個列表的更簡單方法

[英]an easier way of comparing four lists in python

我已經制作了四個都有一些值的列表,我想對計算機說,要打印長度最大的列表的名稱。

我嘗試了這段代碼

list1=[values,values,values]
list2=[values,values,values]
list3=[values,values,values]
list4=[values,values,values]
if len(list1)>len(list2) and len(list1)>len(list3) and len(list1)>len(list4):
    print(True)

但是這需要我所有的時間,我需要將list2與其他對象以及list 3和list4進行比較,所以有一種方法可以像我這樣:

if len(list1)>(len(list2) and len(list3) and len(list4)):
    print(True)

或此打印(長度最大的列表)

如何使用max:

lists = (list1, list2, list3, list4)
print(max(lists, key=len))

不知道這是否是最佳解決方案,但是您可以創建如下函數:

def check(main,*lists):
    for l in lists:
        if len(l) > len(main):
            return False
    return True

這里最大的問題是,在python中打印變量名確實很復雜(例如,在此問題的答案中有一些解釋。

最簡單的方法是重寫第一個作業以使用字典:

lists = {
  "list1": [ values ... ],
  "list2": [ values ... ],
  "list3": [ values ... ],
  "list4": [ values ... ]
}

(此后,您不必引用list1,而必須引用lists["list1"]

然后,您可以通過這種方法獲得最長的列表,例如:

print(max(lists, key=len))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM