Python中字符串和列表去重方法总结

 更新时间:2023年04月10日 09:47:16   作者:逃逸的卡路里  
这篇文章主要为大家整理了Python中实现字符串和列表去重的常用方法,文中的示例代码讲解详细,对我们深入了解Python有一定的帮助,感兴趣的可以了解一下

字符串去重

1、直接遍历字符串的方式

# *_* coding : UTF-8 *_*

​​​​​​​name='王李张李陈王杨张吴周王刘赵黄吴杨'
newname=''
for char in name:
    if char not in newname:
        newname+=char
print (newname)

输出:

王李张陈杨吴周刘赵黄

2、遍历去重的另一种方式

# *_* coding : UTF-8 *_*

​​​​​​​name='王李张李陈王杨张吴周王刘赵黄吴杨'
newname=''
i = len(name)-1
while True:
    if i >=0:
        if name[i] not in newname:
            newname+=(name[i])
        i-=1
    else:
        break
print (newname)

输出:

杨吴黄赵刘王周张陈李

3、将字符串转换成列表的方式(list sort)

# *_* coding : UTF-8 *_*

​​​​​​​name = '王李张李陈王杨张吴周王刘赵黄吴杨'
myname = set(name)
print(myname)
newname = list(set(name))
print(''.join(newname))
newname.sort(key=name.index)
print(newname)
print(''.join(newname))

输出:

{'张', '黄', '刘', '杨', '吴', '周', '陈', '赵', '王', '李'}
张黄刘杨吴周陈赵王李
['王', '李', '张', '陈', '杨', '吴', '周', '刘', '赵', '黄']
王李张陈杨吴周刘赵黄

4、根据字符串下标,判断子集

# *_* coding : UTF-8 *_*

​​​​​​​name='王李张李陈王杨张吴周王刘赵黄吴杨'
l = len(name)        # 字符串下标总长度
for s in name:
    if name[0] in name[1:l]:
        name = name[1:l]
    else:
        name= name[1:l]+name[0]
print(name)

输出:

李陈张周王刘赵黄吴杨

5、使用 ', '.join(L) ,将列表拼接成我们想要的字符串

# *_* coding : UTF-8 *_*

name='王李张李陈王杨张吴周王刘赵黄吴杨'
zd={}.fromkeys(name)
mylist=list(zd.keys())
# mylist = list({}.fromkeys(name).keys())
print (''.join(mylist))

输出:

王李张陈杨吴周刘赵黄

列表去重

1、利用for循环的方式

# *_* coding : UTF-8 *_*

city=['上海', '广州', '上海', '成都', '上海', '上海', '北京', '上海', '广州', '北京', '上海']
ncity = [] # 定义一个空列表
for item in city: # 遍历列表city
    if item not in ncity: # 如果item不在ncity,则添加到ncity
        ncity.append(item)
print (ncity)

输出:

['上海', '广州', '成都', '北京']

2、利用set()函数

set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据。

# *_* coding : UTF-8 *_*

city=['上海', '广州', '上海', '成都', '上海', '上海', '北京', '上海', '广州', '北京', '上海']
ncitx=list(set(city))
print(ncitx)

输出:

['广州', '成都', '上海', '北京']

3、利用sort()排序

# *_* coding : UTF-8 *_*

city=['上海', '广州', '上海', '成都', '上海', '上海', '北京', '上海', '广州', '北京', '上海']

ncitx=list(set(city))
ncitx.sort( key=city.index)
print(ncitx)

输出:

['上海', '广州', '成都', '北京']

4、利用sort()排序后,迭代

# *_* coding : UTF-8 *_*

city=['上海', '广州', '上海', '成都', '上海', '上海', '北京', '上海', '广州', '北京', '上海']
city.sort()
for x in city:
     while city.count(x)>1:
         del city[city.index(x)]

print(city)

输出:

['上海', '北京', '广州', '成都']

5、巧用字典

# *_* coding : UTF-8 *_*

city=['上海', '广州', '上海', '成都', '上海', '上海', '北京', '上海', '广州', '北京', '上海']
mylist = list({}.fromkeys(city).keys())  # fromkeys() 函数创建一个新字典,获取新字典的键(唯一值)
print (mylist)

输出:

['上海', '广州', '成都', '北京']

到此这篇关于Python中字符串和列表去重方法总结的文章就介绍到这了,更多相关Python去重内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python面向对象之类的内置attr属性示例

    Python面向对象之类的内置attr属性示例

    这篇文章主要介绍了Python面向对象之类的内置attr属性,结合实例形式分析了Python面向对象中类的属性相关定义、赋值、修改等操作技巧与注意事项,需要的朋友可以参考下
    2018-12-12
  • TensorFlow Session使用的两种方法小结

    TensorFlow Session使用的两种方法小结

    今天小编就为大家分享一篇TensorFlow Session使用的两种方法小结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • python用海龟绘图写贪吃蛇游戏

    python用海龟绘图写贪吃蛇游戏

    这篇文章主要为大家详细介绍了python用海龟绘图写贪吃蛇游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • Python实现http接口自动化测试的示例代码

    Python实现http接口自动化测试的示例代码

    这篇文章主要介绍了Python实现http接口自动化测试的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 如何用Python做一个微信机器人自动拉群

    如何用Python做一个微信机器人自动拉群

    这篇文章主要介绍了如何用Python做一个微信机器人自动拉群,微当群人数达到100人后,用户无法再通过扫描群二维码加入,只能让用户先添加群内联系人微信,再由联系人把用户拉进来。这样,联系人员的私人微信会添加大量陌生人,给其带来不必要的打扰,需要的朋友可以参考下
    2019-07-07
  • 对python 中re.sub,replace(),strip()的区别详解

    对python 中re.sub,replace(),strip()的区别详解

    今天小编就为大家分享一篇对python 中re.sub,replace(),strip()的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • django orm模块中的 is_delete用法

    django orm模块中的 is_delete用法

    这篇文章主要介绍了django orm模块中的 is_delete用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python线程指南分享

    Python线程指南分享

    今天小编就为大家带来Python线程指南分享,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • python kmeans聚类简单介绍和实现代码

    python kmeans聚类简单介绍和实现代码

    这篇文章主要为大家详细介绍了python kmeans聚类简单介绍和实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • 深入理解Python虚拟机中调试器实现原理与源码分析

    深入理解Python虚拟机中调试器实现原理与源码分析

    本文主要给大家介绍python中调试器的实现原理,通过了解一个语言的调试器的实现原理我们可以更加深入的理解整个语言的运行机制,可以帮助我们更好的理解程序的执行,感兴趣的可以了解一下
    2023-04-04

最新评论