Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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_List_Python 3.x_Compare_Case Insensitive - Fatal编程技术网

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']