Python 如何比较具有相同元素数的多个列表

Python 如何比较具有相同元素数的多个列表,python,list,max,Python,List,Max,我有一个测量系统。它每秒生成4个输出值。4个值的列表(例如[30,45,70,10])。当我按下计算按钮时,它应该比较这些值。假设我在3秒钟后按下了计算按钮。所以它将比较3个列表。比较意味着比较相同位置的元素。例如[10,5,23,24]和[22,35,45,12]是两个列表。第一个列表(此处为10)中的零位元素应与第二个列表(此处为22)中的零位元素进行比较,并打印这两个列表中的高值。与其他位置元素相同。如何做到这一点。如何保存所有列表并进行比较 # for demonstration, I

我有一个测量系统。它每秒生成4个输出值。4个值的列表(例如[30,45,70,10])。当我按下计算按钮时,它应该比较这些值。假设我在3秒钟后按下了计算按钮。所以它将比较3个列表。比较意味着比较相同位置的元素。例如[10,5,23,24]和[22,35,45,12]是两个列表。第一个列表(此处为10)中的零位元素应与第二个列表(此处为22)中的零位元素进行比较,并打印这两个列表中的高值。与其他位置元素相同。如何做到这一点。如何保存所有列表并进行比较

# for demonstration, I am using  random number generator
import tkinter as tk
import random

measure_status = True

def readValues():
    if measure_status :
        outputs = [0]*0
        outputs.append(rand.randrange(0,100,1))
        outputs.append(rand.randrange(0,100,1))
        outputs.append(rand.randrange(0,100,1))
        outputs.append(rand.randrange(0,100,1))
       # do i need another variable to save all the list to compare
    win.after(1000, readValues)

def calc_max():

    global measure_status 
    measure_status = False  #stopping meaasurement.
# rest of the code here? how to compare lists?


win = Tk()

calc_btn  = tk.Button(win, text = "Calculate", command=calc_max )
calc_btn.grid(row=4, column=4)

win.after(1000, readValues)
win.mainloop()

您可以使用
zip
max

def get_max_list(list_of_lists):
    """
    Returns a list of max values for the zips of list_of_lists.
    Assumes each list is the same length.
    """
    return [max(x) for x in zip(*list_of_lists)]

    # The above is equivalent to:
    # result = []
    # for x in zip(l1, l2, l3):
    #     result.append(max(x))
    # print(*result) # Just prints each entry in result.

l1 = [10, 5, 23, 24]
l2 = [22, 35, 45, 12]
l3 = [0, 22, 123, 33]
lists = [l1, l2, l3] # our list of lists example input
print(*get_max_list(lists))
输出:

22 35 123 33

请尝试在帮助中心继续阅读。特别是关于创建一个。你应该尽量减少手头的具体问题。例如,您的问题中没有与
tkinter
相关的内容,也没有与整个代码相关的内容……如何保存列表?正如我在问题中提到的,我每秒都有新的列表。似乎我应该添加新列表,它可能会以列表的形式结束??我很困惑。你想保存这个吗?或者保存不同的输出?我提供的代码的输入应该是一个列表列表,代码的输出是一个单数列表。在我的例子中,一个包含4个元素的新列表将每秒出现一次。例如,第一秒[10,20,30,40]和下一秒[33,17,2,28]以及下一秒[48,27,16,28]等等,直到我按下计算按钮。现在我要比较三个列表。(在我按下计算按钮之前可能会有很多次)。明白了。谢谢;)