Проверьте, присутствует ли элемент в нескольких списках в python, и добавьте его

#python

Вопрос:

У меня есть разные столбцы в csv-файле excel, и я хочу проверить наличие условия в разных столбцах, и когда условие будет выполнено, добавить найденное значение в мой новый список.

Но это не работает.

Это мой код:

 # 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 gt;= "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  

Ответ №1:

Я не могу сказать, что полностью понял проблему, но попробуйте

 for i in ext1   ext2:  

ext1 or ext2 просто означает «используйте ext1 , если не пусто, в противном ext2 случае «.

Также избавьтесь от else: pass него, так как он является избыточным.

В качестве примечания, весь ваш цикл может быть переписан в одну строку как понимание списка:

 ext = [i for i in ext1   ext2 if i gt;= "2022-03-01"]  

Комментарии:

1. ваше предложение сработало, чем я должен заменить другое:передать? Спасибо!

2. Ничего, тебе не обязательно иметь else: оговорку.