在for
循环中,有一个功能可以删除所有重复项,但不能删除。此外,.upper
有时不起作用。请帮忙。
from collections import OrderedDict
def ask():
global x
x = str(input("Enter your logical operation:"))
x = x.split( )
x = [x.upper() for x in x]
return x
ask()
for i in range(0,len(x)):
and_index = x.index("AND",i)
n = list(OrderedDict.fromkeys(str(and_index)))
print(n)
print(n)
答案 0 :(得分:0)
从列表中删除重复项的示例
mylist = ["a", "b", "c", "a", "b"]
newlist = list(set(mylist))
print(newlist)
输出:[“ a”,“ b”,“ c”]
答案 1 :(得分:0)
首先,您甚至没有保存ask()
函数的输出,而是在全局范围内提供它,这不是一个好习惯。
def ask():
x = input("Enter your logical operation:")
return list(map(str.upper, x.split()))
user_input = ask()
然后要简单地删除重复项,您可以将list
转换为set
,这样做会失去列表的顺序,但会快速轻松地删除重复项
user_input = list(set(user_input))
如果要保持用户输入的操作顺序,可以使用OrderedDict
from collections import OrderedDict
user_input = list(OrderedDict.fromkeys(user_input))