因此,我试图编写一个程序,将两个列表作为输入,然后将公共元素组合成一个新的列表。问题是我的代码总是返回一个空列表。有人知道我应该写些什么来解决这个问题吗?以下是我目前为止的代码:
def main():
a = list(input("Enter list one: "))
b = list(input("Enter list two: "))
newlist1 = intersection(a,b)
print(newlist1)
def intersection(a,b):
a = []
b = []
newlist = []
for i in range(len(a)):
for j in range(len(b)):
if a[i] == b[j]:
for k in range(len(newlist)):
if newlist[k] != a[i]:
newlist.append(a[i])
return newlist
main()
编辑:谢谢大家的评论。我已经编辑了一些部分,并修改了它,但仍在努力。我只需要确保在列表输入中忽略逗号。以下是我目前所掌握的情况:
^{pr2}$
您也可以使用集合,这可能更合适。在
请注意,这并不能保证订购的正确性,而且有多个副本的项目只会被复制一次。不管怎样,排序和乘法都是你必须仔细考虑的事情。在
您有}总是0
for k in range(len(newlist)):
,其中{你想要这个吗
但这是一种相当不和谐的方式。为什么不使用一套呢?在
冰树也是对的。。这是另一个问题。您可以通过删除两个赋值
a = []
和b = []
来解决icedtrees问题。这些行覆盖传递给函数的参数值,并丢弃传递给它的任何信息。在相关问题 更多 >
编程相关推荐