Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将列表与元组列表进行比较_Python_Python 3.x - Fatal编程技术网

Python 将列表与元组列表进行比较

Python 将列表与元组列表进行比较,python,python-3.x,Python,Python 3.x,我有一个元组列表,例如 journeylist = [("uk_Frank_3734823","342-2432-242-2342",2,3434-3434),("uk_joe_3734823","342-2432-242-2342",2,3434-3434)] 和一份清单,例如 exclusion = ["joe","jack","alice"] 我想

我有一个元组列表,例如

journeylist = [("uk_Frank_3734823","342-2432-242-2342",2,3434-3434),("uk_joe_3734823","342-2432-242-2342",2,3434-3434)]
和一份清单,例如

exclusion = ["joe","jack","alice"]

我想将排除列表与每个元组的0索引进行比较。该值可以是任何情况下的值,例如
73473_Jack_uk
,并且列表中有
Jack
。他们应该匹配。如果存在匹配项,则必须删除整个元组或将不匹配项添加到另一个列表中。

我将通过降低第一个值的大小写并对照它检查
排除列表来完成此操作:

lowered_exclusion=[excl.lower()表示排除中的排除]
筛选的_journeylist=[]
对于journeylist中的旅程:
第一个=行程[0]。下()
如果没有(排除在第一位,排除在第二位):
筛选的_journeylist.append(旅程)

为了让事情更清楚,我已经写了代码并进行了解释。:)


[i代表日志列表中的i,如果没有([x.lower()代表i[0]。lower()代表排除列表中的x])
您对此有什么问题吗?谢谢!我不得不做一个小小的改变:如果没有(excl.lower()首先用于excl in exclusion):但是你为我节省了很多时间。我学习了一个新函数:any(),再次感谢。@neo2049根据调用的方式,在内部循环之外降低
排除
列表的大小写可能是有意义的。我会更新答案。
journeylist = [("uk_Frank_3734823","342-2432-242-2342",2,3434-3434),("uk_joe_3734823","342-2432-242-2342",2,3434-3434)] # Your provided journey list;

exclusion = ["joe","jack","alice"] # Your provided exclusion list;

JourneyList_lowercase = [i[0].lower() for i in journeylist] # Dublicate journey list array in lowercase;

ExclusionList_lowercase = [i.lower() for i in exclusion] # Dublicate exclusion list in lowercase;

Filtered_List = [] # Prepare new list;

for JL in JourneyList_lowercase: # Go trough journey list in lowercase array;
    if not any(EXC in JL for EXC in ExclusionList_lowercase): # Check if we have not any exclusion in our journey list;
        Filtered_List.append(JL) # If we have not any exclusion in our journey list -> add value to our new prepared list;
    
print(Filtered_List)