首页 > 其他分享 >写一个删除列表中重复元素的函数,要求去重后元素相对位置保持不变

写一个删除列表中重复元素的函数,要求去重后元素相对位置保持不变

时间:2023-06-17 15:35:40浏览次数:49  
标签:set 重后 list 列表 _. new fun 元素 append

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

标签:set,重后,list,列表,_.,new,fun,元素,append
From: https://blog.51cto.com/u_16055028/6505012

相关文章

  • 列表生成式
    '''列表生成式即ListComprehensions'''#https://www.liaoxuefeng.com/wiki/1016959663602400/1017317609699776list(range(1,11))#生成range序列不能用[][x+0forxinrange(1,11)]#遍历对象A中的每个元素a对之进行处理将结果a'保存到列表中[x+0forxinrange......
  • Fabric.js 选中元素不置顶(防止显示到顶层挡住其它元素)
     初始化画布的时候把preserveObjectStacking的属性改成true,默认是false this.canvas=newfabric.Canvas('mycanvas',{preserveObjectStacking:true}); 其它【Fabric.js元素被遮挡的部分也可以操作 】觉得很有用,记录一下,原地址:Fabric.js元素被遮挡的部分也......
  • 包含js代码的dom元素从页面上消失后发生了什么
    最近遇到了一个问题:有一个数据看板的页面运行了n天后突然页面崩溃了,爆出了outofmemory的错误。页面不复杂,几个图表定时更新数据,实在没明白为什么长时间运行后会outofmemory。在每次请求后使用console.log(window.performance.memory); 打印出页面的内存占用情况,然后就......
  • Python数据类型-列表与元组
    #题目1:删除如下列表中的"矮穷丑",写出2种或以上方法:#info=["yuze",18,"男","矮穷丑",["高","富","帅"],True,None,"狼的眼睛是啥样的"]info=["yuze",18,"男","矮穷丑",["......
  • vue中this.$refs获取不到组件元素的解决办法
    vue中this.$refs获取不到组件元素的解决办法http://www.allyns.cn/info/162当我们在vue开发中遇到使用this.$refs报错获取不到组件元素时。<template><divclass="dataQueryEventGraphDialog"><hg-dialog:title="title":width="950":height="485&q......
  • C#对List的元素按属性排序
    C#对List元素排序有几种方法。方法一、使用LinqList<User>sortedList=list.OrderBy(o=>o.ID).ToList();如果按降序排序,可以使用OrderByDescending方法:List<User>sortedList=list.OrderByDescending(o=>o.ID).ToList();方法二、扩展IComparable接口示例:publiccl......
  • 关于display:flex;justify-content: space-between;的最后一个元素无法左对齐的问题解
    1.问题:当使用v-for遍历一个数组,当数字长度不是要进行左右对齐的数字的倍数*(以3为例),无法进行左对齐的问题 解决方法:1.使用watch监听这个数组的长度的变化,判断这个数组的长度是否3%2是不是等于0,如果是为则这个数字追加一个空对象,代码如下:watch:{rowsForm:{......
  • 移动端兼容问题列表
    伪类:active生效要CSS伪类 :active 生效,只需要给document绑定 touchstart 或 touchend 事件<style>a{color:#000;}a:active{color:#fff;}</style><aherf=foo>bar</a><script>document.addEventListener('touchstart',fun......
  • beautifulSoup找不到元素
    问题:页面F12可以定位元素,但把网页下载到本地,无法定位2种原因:1、内容在一个标签中,放在json字符串里 #内容在input里inputInfo=soup.find_all('input')[3]['value']#页面所有内容xmInfo=json.loads(inputInfo)Agency=xmInfo['author']xmContent=xmInfo['conte......
  • beautifulSoup查找元素常用汇总
    0、初始化:frombs4importBeautifulSouppageSource=driver.page_sourcesoup=BeautifulSoup(pageSource,'html.parser')1、标签名定位方法1:soup.body方法2:li.select('a')2、查找2.1、单个查找2.1.1、按text内容查找xmSoup.find(text=re.compile(......