[英]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.