如何在python中删除列表的重复项?[已关闭]

h43kikqp  于 2022-12-01  发布在  Python
关注(0)|答案(2)|浏览(147)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

昨天关门了。
Improve this question
练习:“我们去杂货店购物吧”
一位母亲想要列出她需要买的东西,但是,她需要一个简单的列表,每次都可以运行,并且在她改变主意时可以修改。从一个空列表开始,编写一个函数来创建一个杂货列表,该函数执行以下操作:
·添加项目(接受用户输入的字符串并将其添加到现有列表中)
· Remove an Item(接受用户输入的字符串并从列表中删除所有示例)
·打印整个列表(打印列表的所有内容)
退出(退出程序)
项目以字符串的形式存储。允许重复。当删除一个项目时,它在与列表中的项目匹配时必须不区分大小写(换句话说,“Eggs”和“eggS”仍然指同一个项目)。程序应该继续运行,直到用户决定通过执行Exit命令终止它。否则,它应该尽可能捕获所有错误。
mycode这是我的代码。我有一个问题,在删除功能,它应该删除所有重复,尽管字母的情况。我的代码应该是什么?谢谢。

ou6hu8tu

ou6hu8tu1#

我觉得你想要这个。

remove_item = "eggs"
myList = ["Eggs", "eggS", "eGgS", "miLk", "milk"]
result=[]

marker = set()

for l in myList:
    ll = l.lower()
    if ll != remove_item.lower():
        result.append(ll)

print(result)
xv8emn3q

xv8emn3q2#

您可能希望remove_items函数如下所示:

def remove_items():
  global grocery_list
  item_to_remove = input("Which item do you want to remove? ").lower()
  newlist = grocery_list.copy()
  for item in grocery_list:
    if item.lower() == item_to_remove:
      newlist.remove(item)
  grocery_list = newlist

希望这能有所帮助:)
另外,global grocery_list也在这里,因为我们稍后在函数中将杂货列表设置为一个新的列表,如果没有它,python会出错。该函数应该只需要作为当前remove_items函数的替换。

相关问题