Python 比较不区分大小写的列表项
因此,我有两个列表,其中的项目在不同的情况下。有些项目相同,但为小写/大写。如何创建一个循环来遍历所有项并对每个项执行操作,同时忽略该项可能具有的情况Python 比较不区分大小写的列表项,python,list,python-3.x,compare,case-insensitive,Python,List,Python 3.x,Compare,Case Insensitive,因此,我有两个列表,其中的项目在不同的情况下。有些项目相同,但为小写/大写。如何创建一个循环来遍历所有项并对每个项执行操作,同时忽略该项可能具有的情况 fruits = ['Apple','banana','Kiwi','melon'] fruits_add = ['apple','Banana','KIWI','strawberry'] 我想创建一个循环,通过水果中的每个项目添加并将其添加到水果中,前提是该项目尚未在水果中。但是,像'apple'和'apple'这样的项目需要算作相同的项目
fruits = ['Apple','banana','Kiwi','melon']
fruits_add = ['apple','Banana','KIWI','strawberry']
我想创建一个循环,通过水果中的每个项目添加并将其添加到水果中,前提是该项目尚未在水果中。但是,像'apple'
和'apple'
这样的项目需要算作相同的项目
我了解如何将单个项目转换为不同的案例,以及如何检查一个特定项目是否与另一个项目相同(不考虑案例)。我不知道如何创建一个只对所有项目执行此操作的循环
在其他语言中找到了类似问题的答案,但在Python 3中没有找到
我的尝试:
for fruit.lower() in fruits_add:
if fruit in fruits:
print("already in list")
这给了我一个错误:
SyntaxError: can't assign to function call
在比较列表之前,我还尝试将每个列表中的每个项目都转换为小写,但这也不起作用。我不会在那里使用lower()函数。
使用下面的方法:
for fruit in fruits_add:
if fruit.lower() in fruits:
print("already in list")
for循环中的fruit.lower()
将无法像错误消息所暗示的那样工作,您无法分配给函数调用
您可以创建一个辅助结构(set
,此处)来保存fruits
中现有水果的小写项,如果fruits\u add
集中没有t
中的fruits.lower()
(包含水果
中的小写水果):
现在有了水果
:
print(fruits)
['Apple', 'banana', 'Kiwi', 'melon', 'strawberry']
这两个列表都应该不区分大小写。比如fruit.lower()
给出了apple
,但是它的apple
在另一个列表中,所以它不匹配。哦,当然。然后OP需要创建一个新的集合。
print(fruits)
['Apple', 'banana', 'Kiwi', 'melon', 'strawberry']