繁体   English   中英

检查python中的多个列表中是否存在一个元素并将其附加

[英]Check if an element is present in multiple lists in python and append it

我在 excel csv 文件中有不同的列,我想检查不同列中的条件,并在满足条件时将找到的值附加到我的新列表中。

但它不起作用。

这是我的代码:

# importing module
from pandas import *

# reading CSV file
data = read_csv("test.csv")

# converting column data to list
ext1 = data['ext1'].tolist()
int1 = data['int1'].tolist()
ext2 = data['ext2'].tolist()

ext = []


for i in ext1 or ext2:
    if i >= "2022-03-01":
        ext.append(i)
    else:
        pass

print(*ext, sep="\n")

问题是:

for i in ext1 or ext2:

我认为or是有问题的。

这是我的 csv 文件:

ext1,int1,ext2
2023-01-20,2022-01-20,2022-01-21
2024-01-21,2023-01-22,2024-12-22
2021-01-22,2022-01-22,2022-01-23

该列表应打印:

2023-01-20
2024-01-21
2024-12-22

它只是打印:

2023-01-20
2024-01-21

我不能说我完全理解这个问题,但请尝试

for i in ext1 + ext2:

ext1 or ext2仅表示“如果不为空则使用ext1 ,否则使用ext2

也去掉else: pass因为它是多余的。

作为旁注,您的整个循环可以在一行中重写为列表理解:

ext = [i for i in ext1 + ext2 if i >= "2022-03-01"]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM