下面是我的代码将我的列表分隔成列表的列表,然后打印单词'你好',如果这些列表中的值匹配...但是,在解决这个问题时遇到了一些问题。据我所知,所有的语法都是正确的,只是输出不起作用。为和如果/ else循环嵌套if语句不工作在python
import csv
import operator
import itertools
import matplotlib.pyplot as plt
with open('data.txt', 'r') as f:
csv_input = csv.reader(f, delimiter=' ', skipinitialspace=True)
headers = next(csv_input)
counter = 0
i = 1
for k, g in itertools.groupby(csv_input,key=operator.itemgetter(3)):
row = []
for entry in g:
entry = [float(e) for e in entry]
row.append(entry)
counter = counter+1
i = i+1
#print(row) #(not necessary to see the results hence commented out)
if counter == 1:
row1 = row
else:
row2 = row
for i in range(1, len(row1)):
hi = row1[i][0]
for j in range(1,len(row2)):
if row2[j][0] == hi: #this clause doesnt work
print('hello')
counter=1
row1=row
我在这里做的是比较第一个列表中的第一个值和下一个列表的第一个行中的第二个值。然后,我想比较第二个列表第一行的第一个值与下一个列表的第一行,等等......(我知道这看起来很混乱!),如果这些值相同,那么它将绘制一条线,但为了简单起见,让我们只是说它会打印('你好'),因为代码工作直到它标记为'#这个子句不起作用'
任何帮助将不胜感激!在此先感谢
您可以提供输入文件的示例 – The6thSense
您循环遍历'row1'的所有元素,每次首先重新分配给'hi'。 'hi'在循环结束时总是'row1 [-1] [0]'。 – dsh