在Python循环外部访问变量
我知道我贴出的问题以前已经被回答过了,但我试着使用贴出的答案,但在我的案例中效果不好。 问题是我试图将while循环中的多个条目存储到一个变量中,并且我试图在这个循环之外访问这个变量。 输出只是第一行,就好像循环没有迭代整个文件一样。 这是我写的代码在Python循环外部访问变量,python,Python,我知道我贴出的问题以前已经被回答过了,但我试着使用贴出的答案,但在我的案例中效果不好。 问题是我试图将while循环中的多个条目存储到一个变量中,并且我试图在这个循环之外访问这个变量。 输出只是第一行,就好像循环没有迭代整个文件一样。 这是我写的代码 import csv keyword = None with open('test.csv', 'rb') as f: reader = csv.reader(f, delimiter='\t') headers = r
import csv
keyword = None
with open('test.csv', 'rb') as f:
reader = csv.reader(f, delimiter='\t')
headers = reader.next()
for row in reader:
keywords = (row[0].strip())
print (keywords)
测试文件具有以下结构:
symbol
code_id_164751
code_id_313270
code_id_96306
code_id_494305
code_id_468128
code_id_303451
code_id_274562
代码的输出只给我第一个代码\u id:
code_id_164751
所需的输出是整个列表。即使我在while循环之前声明了变量关键字,但似乎我无法将其置于循环之外(这是我在其他问题中看到的建议)这与在循环内部或外部定义变量无关。您将
关键字
定义为单个变量,并在每次循环中重新分配它,因此它自然只会得到最后一个值
相反,您应该将其定义为一个列表,并每次追加值:
keywords = []
...
keywords.append(row[0].strip())
这与在循环内部或外部定义变量无关。您将
关键字
定义为单个变量,并在每次循环中重新分配它,因此它自然只会得到最后一个值
相反,您应该将其定义为一个列表,并每次追加值:
keywords = []
...
keywords.append(row[0].strip())
你需要
keywords.append(row[0].strip())
你需要
keywords.append(row[0].strip())
请尝试将结果附加到旧结果。 因为在代码中,您只需分配
keywords=(行[0].strip())
因此它将替换旧关键字
所以将
keywords=(行[0].strip())
更改为keywords+=(行[0].strip())
请尝试将结果附加到旧结果。
因为在代码中,您只需分配keywords=(行[0].strip())
因此它将替换旧关键字
因此,将
keywords=(行[0].strip())
更改为keywords+=(行[0].strip())
作为一个开始,您需要将关键字
多元化,您似乎在每次迭代时都要重新分配关键字
。您可以在循环的每次迭代中替换关键字的值。您可以在循环之外获得它,但是,关键字
在每次迭代中都被重新定义。如果它被构建成一个列表,那么它也将是您循环中的一个列表。这真的是你想要的吗?我试着把它写成一个列表,但我无法将它从循环外获取。首先,你需要将关键字
多元化。你似乎在每次迭代时都重新分配关键字
。你在循环的每次迭代中替换关键字的值。你可以在循环外获得它,但是,关键字
在每次迭代中都被重新定义。如果它被构建成一个列表,那么它也将是您循环中的一个列表。这真的是你想要的吗?我试着把它写成一个列表,我无法把它从循环中取出来。你需要把关键字@Mondher:Change关键字=[]
改成关键字=[]
谢谢你,我刚刚意识到这一点再次抛出代码。你需要把关键字@Mondher:Change关键字=[]
tokeywords=[]
谢谢,我刚刚意识到这一点,再次抛出代码。这可能是基于'tdowtheopwants.Ya,但在这一行,他们也会将结果附加到列表或附加到简单字符串。这可能是基于'tdowtheopwants.Ya,但在这一行,他们也会将结果附加到列表或附加到简单字符串。