如何在python中添加循环内的列表?

时间:2018-03-23 03:38:46

标签: python loops

我正在尝试将excel文件(data2)中的数据分配给变量,并创建一个先前已指定(目标)数量的数据列表。

follow=data2[1][2]
for q in range(2,targets):
   follow = follow,data2[q][2]

但是这会返回:

(((((((((((((((((('targetdata1','targetdata2','targetdata3',...)

其中“(”对于每个循环过程都在增加。我想要的输出是:

('targetdata1','targetdata2','targetdata3',..)

2 个答案:

答案 0 :(得分:2)

逗号用于创建元组。所以

follow = follow, data2[q][2]

follow设置为元组,其第一个元素是旧值follow,第二个元素是data2中的项。因此,通过将一个元组放入另一个元组中,这可以使它越来越深入嵌套。

您应该使用follow.append()

follow.append(data2[q][2])

你可以用列表理解来完成整个事情:

follow = [x[2] for x in data2[1:]]

答案 1 :(得分:1)

你想要做的事情最好用列表理解来表达:

follow = [data[i][2] for i in range(i,targets)]

只是为了确保:python中的list / tuple索引从0开始。你正在跳过第一个元素。我认为这是故意的,跳过表格的标题或其他东西。