指定多个索引时为循环创建自定义[PYTHON]

时间:2017-11-03 17:57:43

标签: python loops indexing

基本上,这就是我的文本文件:

1,2,3,4,5
1,3,2,5,4
2,4,5,3,1

etc

我想做的是,制作一个遍历每个索引的for循环,但不是我选择忽略的循环。 在这个例子中,我创建了一个变量[index]来指示应该忽略哪个索引。该变量由程序生成,除了作为索引的值之外是不必要的。 让我们说; variable = 1

所以在这个例子中,我想要为每一行忽略每行的第二个数字。 我该怎么做?

1 个答案:

答案 0 :(得分:0)

您可以使用enumerate循环访问数据,同时访问这两个值和索引:

for d in data:
    for i,el in enumerate(d):
        if i is not variable:

此处data是一个包含子列表的列表,每个子列表代表一行文件。循环使用enumerate循环遍历每个子列表 - i是当前元素的索引,el是元素。有了这个,您可以使用if来检查i是否不等于variable,您不想处理的索引 - 如果不是,则继续进行处理。

或者,您可以在不包含该特定索引的情况下读取该文件:

variable = 1;

data = [];
with open('test_file.txt', 'r') as f:
    for line in f:
        temp = line.strip().split(',')
        del temp[variable]
        data.append(temp)

此处程序简单使用del删除索引variable处的元素,并将其余元素附加到最终数据集。

要加载整个文件,只需删除程序加载部分中的del temp[variable]行。您可以使用enumerate循环来排除您不想处理的索引。