python学习之字符串去重的几种方法
2023-09-11 14:17:48 时间
最近的工作经常会碰到对字符串进行去重的操作,这篇文章主要介绍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))
王李张陈杨吴周刘赵黄
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。4
相关文章
- Python操作Mysql实例代码教程在线版(查询手册)_python
- Python 字符串_python 字符串截取_python 字符串替换_python 字符串连接
- 跨平台python异步回调机制实现和使用方法
- Python视觉深度学习系列教程 第一卷 第9章 优化方法和正则化
- paip.截取字符串byLastDot方法总结uapi python java php c# 总结
- Python编程语言学习:python中与数字相关的函数(取整等)、案例应用之详细攻略
- Python:python语言中与时间有关的库函数简介、安装、使用方法(获取当前时间/计算程序块前后运行时间/模型训练时间或耗费时间)之详细攻略
- Python之ffmpeg:利用python编程基于ffmpeg将m4a格式音频文件转为mp3格式文件
- Python:更改默认启动的python程序及其对应的安装包路径(更改pip的默认安装包的路径)图文教程之详细攻略
- Python语言学习:Python语言学习之容器(列表&元组&字典&集合)简介、特点/意义/经验总结及容器魔法方法(定义可变&不可变容器的协议)的简介、案例应用之详细攻略
- Python语言学习:Python语言学习之面向对象编程OO(继承&封装&多态)/类&方法/装饰器的简介、案例应用之详细攻略
- Python语言学习:Python语言学习之python包/库package的简介(模块的封装/模块路径搜索/模块导入方法/自定义导入模块实现华氏-摄氏温度转换案例应用)、使用方法、管理工具之详细攻略
- Python编程语言学习:python中浅复制/深复制(或浅拷贝/深拷贝)的简介、案例应用注意事项之详细攻略
- Python编程语言学习:python语言中快速查询python自带模块&函数的用法及其属性方法、如何查询某个函数&关键词的用法、输出一个类或者实例化对象的所有属性和方法名之详细攻略
- Python语言学习:利用python获取当前/上级/上上级目录路径(获取路径下的最后叶目录的文件名、合并两个不同路径下图片文件名等目录/路径案例、正确加载图片路径)之详细攻略
- Python编程语言学习:sklearn.manifold的TSNE函数的简介、使用方法、代码实现之详细攻略
- Python语言学习之lambda:lambda函数的简介、使用方法、案例大全之详细攻略
- Python语言学习之字母D开头函数使用集锦:del、dict使用方法之详细攻略
- Python之nyoka:nyoka库函数的简介、安装、使用方法之详细攻略
- Python之sklearn-pmml:sklearn-pmml的简介、安装、使用方法之详细攻略
- Python语言学习:Python常用自带库(imageio、pickle)简介、使用方法之详细攻略
- Py之Kivy:Python库之Kivy的简介、安装、使用方法之详细攻略
- python --> Python初阶 --> 基础语法 --> 条件和分支
- Python 实现个人博客系统(附零基础python学习资料)
- 如何入门学python,这是很值得借鉴的学习方法
- Qt调用python有参和无参方法,取方法返回值
- python基础===输入必须为数字的检验的另一种方法
- Python学习笔记之查询指定模块有哪些方法
- DL框架之Keras:深度学习框架Keras框架的简介、安装(Python库)、相关概念、Keras模型使用、使用方法之详细攻略
- 〖Python全栈白宝书-免费版㉗〗- Python中集合的常用方法
- python工具方法 9 控制print中输出任意数据的精度,支持numpy数据、tuple、list、dict、set
- elasticsearch python 查询的两种方法
- Python 中re.split()方法