[英]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.