Skip to main content
 首页 » 编程设计

Python:for循环内的两个列表迭代for index

2025年05月04日35开发

我有两个列表:list_1 = [0,1,0,0,1,1,0,1,1,0] 和 list_2 = [1,2,2 ,4,4,6,7,8,8,10] 具有相同数量的元素。我试图遍历这些列表以在 4 个单独的值中使用,这些值将成为函数的一部分。

我到目前为止:

list_1 = [0,1,0,0,1,1,0,1,1,0] 
list_2 = [1,2,2,4,4,6,7,8,8,10] 
for i,x in enumerate(list_1): 
    var_list_1_1 = x 
    var_list_1_2 = [z for y,z in enumerate(list_1) if y != i] 
    var_list_2_1 = list_2[i] 
    var_list_2_2 = [z for y,z in enumerate(list_2) if y != i] 
 
    print("{}\n{}\n{}\n{}".format(var_list_1_1,var_list_1_2, var_list_2_1,var_list_2_2)) 

这打印正确,但我不确定这是否是最好的方法。我将使用它处理大约一到两千行数据,但不确定这是否会成为一个问题。我在这个项目中使用 numpy 和 pandas 作为其他库,所以这些解决方案也可以工作。感谢您提供任何见解。

编辑: 我希望每个循环都能产生类似于下面的内容。它是项目,然后是没有该项目的列表。两个列表必须是相同的项目索引。如果有帮助,我正在为 scikit 学习制作一个训练/测试功能集/数组和一个训练/测试目标数组。我只想迭代训练整个集合并测试单个值。

var_list_1_1 = 0 
var_list_1_2 = [1,0,0,1,1,0,1,1,0] 
var_list_2_1 = 1 
var_list_2_2 = [2,2,4,4,6,7,8,8,10] 

请您参考如下方法:

我认为它看起来更具可读性:

for i in xrange(len(list_1)-1): 
    l1 = list_1[:] 
    l2 = list_2[:] 
    var_list_1_1 = l1.pop(i) 
    var_list_1_2 = l1 
    var_list_2_1 = l2.pop(i) 
    var_list_2_2 = l2