下面是我的代碼將我的列表分隔成列表的列表,然後打印單詞'你好',如果這些列表中的值匹配...但是,在解決這個問題時遇到了一些問題。據我所知,所有的語法都是正確的,只是輸出不起作用。爲和如果/ 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