写一个删除列表中重复元素的函数,要求去重后元素相对位置保持不变
  X5zJxoD00Cah 2023年11月02日 24 0

1

# 无集合set
list_ = ['a','a','b','b','c','c']
list_new = []
for i in list_:
    if i not in list_new:
        list_new.append(i)

list_new
def fun_1(list_ = ['a','a','b','b','c','c']):
    list_new = []
    for i in list_:
        if i not in list_new:
            list_new.append(i)
    return list_new

fun_1()

2

# 利用集合set
list_ = ['a','a','b','b','c','c']
list_new = []
set_ = set()
for i in list_:
    if i not in set_:
        list_new.append(i)
        set_.add(i)

list_new
def fun_2(list_ = ['a','a','b','b','c','c']):
    list_new = []
    set_ = set()
    for i in list_:
        if i not in set_:
            list_new.append(i)
            set_.add(i)
    return list_new

fun_2()

3

# 无新列表
def fun_3(list_ = ['a','a','b','b','c','c']):
    set_ = set()
    for i in list_:
        if i not in set_:
            yield i
            set_.add(i)

ob = fun_3()
list_new = []
try:
    while 0<1:
        list_new.append(ob.__next__())
except:
    print(list_new)
ob.__next__()
[ i for i in fun_3() ]
ob = fun_3()
list_new = []
for i in ob:
    list_new.append(i)

list_new
list_new = []
for i in fun_3():
    list_new.append(i)

list_new
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  X5zJxoD00Cah   2023年12月11日   26   0   0 知乎Python迭代器
  X5zJxoD00Cah   2023年12月12日   34   0   0 Python.net
X5zJxoD00Cah