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