我需要我的python程序不在列表中添加相同的字母。没有重复。这是我目前的代码:
common = []
for letter in first and last:
if letter in first and last:
common.append(letter)
print common
编辑:好的,我这样做了,似乎有效。
for letter in first and last:
if letter in first and last and not common:
编辑:对不起,必须使用“LISTS”
答案 0 :(得分:2)
Python不懂语言逻辑。告诉口译员完全你的意思:
if (letter in first) and (letter in last) and (letter not in common):
答案 1 :(得分:0)
您是否需要列表与您在其中读取的顺序相同?一种方法是首先创建一个set对象,将所有内容添加到集合中,然后通过迭代集合来创建列表,将集合中的每个项目附加到列表中。如果对列表执行查找将花费O(n)时间(n =列表大小),而设置对象将花费O(1)时间。
我认为这样的事情对你有用。快速问题,首先是什么?为什么要检查“是否在第一个和最后一个字母” - 一个不能在一个for循环中迭代两个列表。如果你想做喜欢这个,那么首先将列表压缩在一起(zip(list1,list2))以创建元组列表,然后迭代这个压缩列表。
好像你想做这样的事情。
# thank you user NullUserException
common = list(set([letter for letter in listOfStuff]))
编辑 - 好的,然后解决O(n)查找时间。
common = []
for letter in listOfStuff:
# if statement stolen from user Blender =D
if (letter in first) and (letter in last) and (letter not in common):
common.append(letter)
print common