尝试将一个列表中的项目添加到另一个列表中,避免重复项导致空列表

2024-09-28 01:31:13 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我目前的代码:

duplist = [5,9,14,3,9,97,4,3,23,85,123,5]

singlist = []

for i in (duplist) :
    if i != singlist :
        [str(i)] + singlist
        print(singlist)

我正在尝试将duplist中的所有项添加到singlist中,而不添加重复项。我从这段代码得到的结果是一个空列表。我相信错误在我的if语句行中,尽管我不确定使用哪个操作符来代替!=


Tags: 代码in列表forif错误语句print
3条回答

简而言之,这可以通过获取列表集并从中构造一个新列表来完成。集合中的每个项目都是唯一的

singlist = [i for i in set(duplist)]

长期方针:

for i in duplist:
    if i not in singlist:
        singlist.append(i)

你可以用这个

singlist = list(set(duplist))

如果允许使用外部库:

>>> from iteration_utilities import unique_everseen

>>> duplist = [5,9,14,3,9,97,4,3,23,85,123,5]
>>> list(unique_everseen(duplist))
[5, 9, 14, 3, 97, 4, 23, 85, 123]

这是基于^{} documentation中的配方。因此,您可以轻松地自己实现它

相关问题 更多 >

    热门问题