所以我正在做一个小项目,我陷入了一段代码中。 该代码应过滤列表中的所有重复编号。 这是我的代码:
lijst = [{1,2,3,4,4}, {4,5}]
def unique(lijst):
final_list = []
for nummer in lijst:
if nummer not in final_list:
final_list.append(nummer)
return final_list
print(unique(lijst))
当我打印时,我得到这个:
[{1,2,3,4},{4,5}]
但是我想得到这个: {1,2,3,4,5} 如果列表更改,该程序也应该可以运行。 我不知道如何解决这个问题。 有人可以帮忙吗? 如果您解释了它的工作方式和原因,那会很好,因为我是python初学者,所以我可以从中学习。 提前非常感谢!
答案 0 :(得分:1)
lijst = [{1,2,3,4,4}, {4,5}]
x = set()
for seq in lijst:
x |= set(seq)
print(x)
答案 1 :(得分:0)
您可以遍历可迭代对象,并在最后一个结果上使用set
,
>>> x = [{1,2,3,4,4}, {4,5}]
>>> {z for y in x for z in y}
set([1, 2, 3, 4, 5])
答案 2 :(得分:0)
l = [[1,2,3,4,4], [4,5]]
a=[]
for each in l:
for every in each:
a.append(every)
l=a
print(set(a))
输出
{1、2、3、4、5}
答案 3 :(得分:0)
jst = [{1,2,3,4,4}, {4,5}]
def unique(lijst):
A=set()
for i in lijst:
A=A.union(i)
return(A)
print list(unique (jst))
[1, 2, 3, 4, 5]
答案 4 :(得分:0)
在这种情况下,使用set.difference仅获得{1,2,3}
答案 5 :(得分:0)
我的方法:
lijst = [{1,2,3,4,4},{4,5}]
result = []
sub1 = tuple(lijst[0])
sub2 = tuple(lijst[1])
for i in range(len(sub1)):
result.append(sub1[i])
for i in range(len(sub2)):
if sub2[i] not in result:
result.append(sub2[i])
result = list(result)
print(result)
我的结果是[1、2、3、4、5] 希望这有用。