Python:按索引弹出列表列表中的项目

标签 python list

我必须通过不在标题中的 lines[0] 项目的索引来删除行列表中的项目。

输入内容如下:

headers = ['internal_id', 'default_code', 'ean13', 'supplier_id', 'product_qty']
lines = [['default_code', 'fld_code', 'test'],[1212, 4545, 'test1'],[45, 787, 'test2']]

预期输出如下:

lines = [['default_code'],[1212],[45]]

到目前为止我尝试做的事情在这里:

for x in lines[0]:
    if x not in headers:
        for line in lines[0]:
            line.pop(line.index(x))
print lines

这没有产生所需的输出。请帮忙解决这个问题。

最佳答案

我根据您的代码进行的更正:

for i, x in reversed(list(enumerate(lines[0]))):
    if x not in headers:
        for line in lines:
            line.pop(i)
print lines

输出:

[['default_code'], [1212], [45]]

关于Python:按索引弹出列表列表中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36762017/

相关文章:

python - 我如何从一些 python 脚本中调用函数,这些函数的名称可以在另一个 python 脚本中更改?

java - 在不使用迭代器的情况下更新到 LIST ADT 的下一个头部

Python 列表使用随机元素扩展,保持边界/原始

python - 使用列表理解返回第一个找到的元素或 None

R从List列表中提取元素的快速方法

jQuery 如何将一个元素移动到另一个元素中

java - 从java列表中删除特定元素列表后获取剩余的元素列表?

python - 在Python中将XML元素转换为字符串,然后将字符串转换为XML文件

python - Pandas :将一个矩阵转换为另一个矩阵

python - 在 python 中替换正则表达式