Python: 比较两个列表中的值
Python: Comparing values in two lists
我确实尝试过寻找所有问题的解决方案,但没有成功找到任何东西。如果其他人已经问过这个问题,我深表歉意。进入正题。
我有两个列表,其中包含要相互比较的值。我尝试了以下选项。
list1 = [1,3,5,7,9]
list2 = [200,2]
x = 0
n = 0
y = 0
while x <= 9:
if list1[y] >= list2[n]:
print('TRUE')
x = x + 1
y = y + 1
if y > 4:
y = 0
n = n + 1
else:
print('FALSE')
x = x + 1
y = y + 1
if y > 4:
y = 0
n = n + 1
唯一的问题是,我需要遍历值列表而不是现有的变量。
因此,我希望代码看起来像这样:
x = 0
n = [0,1]
y = [0,3]
z = len(n) + len(y) - 1
while x <= z:
if list1[y] >= list2[n]:
print('TRUE')
x = x + 1
else:
print('FALSE')
x = x + 1
其中 n 和 y 是我要比较的数字的索引值。
这对我不起作用,我真的不知道该怎么做。
编辑:我认为我不必通过文本解释所有内容,因为我包含了两组代码。第一组代码有效,它准确地显示了我正在尝试做的事情。第二个是我想要它做的。
进一步细分我想知道如果list1[0]>=list2[0],后面是list1[3]>=list2[0],后面是list1[0]>=list2[1],其次是 list1[3]>=list2[1]。我期望的输出在我提供的代码中。
抱歉,如果我之前不清楚。我需要调用我将在单独列表中拥有的特定索引位置。这是我在第二个代码中试图概述的问题。
我想现在明白你想做什么了。
首先,有两个“原始”数据列表:
list1 = [1,3,5,7,9]
list2 = [200,2]
那么,有两组“兴趣指数”:
y = [0, 3] # indices of interest for list1
n = [0, 1] # indices of interest for list2
我觉得下面可以实现你想要的:
product = [(index1, index2) for index2 in n for index1 in y] #cartesian product
for index1, index2 in product:
if list1[index1] >= list2[index2]:
print("True")
else:
print("False")
或者如果不需要笛卡尔积,只需在嵌套循环中执行即可:
for index2 in n:
for index1 in y:
if list1[index1] >= list2[index2]:
print("True")
else:
print("False")
我确实尝试过寻找所有问题的解决方案,但没有成功找到任何东西。如果其他人已经问过这个问题,我深表歉意。进入正题。
我有两个列表,其中包含要相互比较的值。我尝试了以下选项。
list1 = [1,3,5,7,9]
list2 = [200,2]
x = 0
n = 0
y = 0
while x <= 9:
if list1[y] >= list2[n]:
print('TRUE')
x = x + 1
y = y + 1
if y > 4:
y = 0
n = n + 1
else:
print('FALSE')
x = x + 1
y = y + 1
if y > 4:
y = 0
n = n + 1
唯一的问题是,我需要遍历值列表而不是现有的变量。
因此,我希望代码看起来像这样:
x = 0
n = [0,1]
y = [0,3]
z = len(n) + len(y) - 1
while x <= z:
if list1[y] >= list2[n]:
print('TRUE')
x = x + 1
else:
print('FALSE')
x = x + 1
其中 n 和 y 是我要比较的数字的索引值。
这对我不起作用,我真的不知道该怎么做。
编辑:我认为我不必通过文本解释所有内容,因为我包含了两组代码。第一组代码有效,它准确地显示了我正在尝试做的事情。第二个是我想要它做的。
进一步细分我想知道如果list1[0]>=list2[0],后面是list1[3]>=list2[0],后面是list1[0]>=list2[1],其次是 list1[3]>=list2[1]。我期望的输出在我提供的代码中。
抱歉,如果我之前不清楚。我需要调用我将在单独列表中拥有的特定索引位置。这是我在第二个代码中试图概述的问题。
我想现在明白你想做什么了。
首先,有两个“原始”数据列表:
list1 = [1,3,5,7,9]
list2 = [200,2]
那么,有两组“兴趣指数”:
y = [0, 3] # indices of interest for list1
n = [0, 1] # indices of interest for list2
我觉得下面可以实现你想要的:
product = [(index1, index2) for index2 in n for index1 in y] #cartesian product
for index1, index2 in product:
if list1[index1] >= list2[index2]:
print("True")
else:
print("False")
或者如果不需要笛卡尔积,只需在嵌套循环中执行即可:
for index2 in n:
for index1 in y:
if list1[index1] >= list2[index2]:
print("True")
else:
print("False")