-
2020-11-20 22:43:06
给我们一串字符串或者文章,我们想知道它用了哪些字符或者去重,可以用这个方法
def de_duplication(str):
dedup_str = ''
for char in str:
if not char in dedup_list:
dedup_str += char
return dedup_list
str = input('请输入一串有重复字符的字符串:')
print(de_duplication(str))
结果:
请输入一串有重复字符的字符串:给我们一串字符串或者文章,我们想知道它用了哪些字符或者去重,可以用这个方法
给我们一串字符或者文章,想知道它用了哪些去重可以这个方法
同样的列表也可以用这个方法
def de_duplication(list):
dedup_list = []
for word in list:
if not word in dedup_list:
dedup_list.append(word)
return dedup_list
list = [1, '1', 2, 1, '我', 'me']
print(de_duplication(list))
结果:
[1, '1', 2, '我', 'me']
更多相关内容 -
Python对字符串实现去重操作的方法示例
2020-12-23 21:29:23最近在工作经常会碰到对字符串进行去重操作,下面就给大家列出用Python如何处理的,话不多说了,来一起看看详细的介绍吧。 比如说,要拿下面的字符传去掉重复的AA, A(B,C) S = 'AA, BB, EE, DD, AA, A(B,C), CC, A... -
二十、python 字符串去重,主要依赖maketrans和translate这两个方法
2021-02-10 07:11:40最近遇到一个问题,怎么来对一个字符串去重?我的思路是1.先分割字符串;2.然后使用set去重;3.用join连接起来。那就引入了另一个问题:怎么分割字符串来保证结果中不包含空格?当然有很笨的方法,本篇主要谈论有...最近遇到一个问题,怎么来对一个字符串去重?
我的思路是1.先分割字符串;2.然后使用set去重;3.用join连接起来。
那就引入了另一个问题:怎么分割字符串来保证结果中不包含空格?当然有很笨的方法,本篇主要谈论有没有一种更简单的方法?
首先,先来看一下需要分割的字符串
# 张三;李四;王五;张三;李四
bbb = u';\u5f20\u4e09;\u674e\u56db;\u738b\u4e94;\u5f20\u4e09;\u674e\u56db;'
接下来,按照常规的方法,使用str.split()或re.split()分割并组合字符串
print 'bbb: %s' % bbb
ccc = bbb.split(';')
print 'ccc: %s' % ccc
print 'remove duplicate: %s' % set(ccc)
print 'concat str: %s' % ';'.join(set(ccc))
输出结果:
bbb: ;张三;李四;王五;张三;李四;
ccc: [u'', u'\u5f20\u4e09', u'\u674e\u56db', u'\u738b\u4e94', u'\u5f20\u4e09', u'\u674e\u56db', u'']
remove duplicate: set([u'', u'\u5f20\u4e09', u'\u674e\u56db', u'\u738b\u4e94'])
concat str: ;张三;李四;王五
可以看到分割结果中包含空格,直接影响了最后的结果。如果想保证结果正确,一种方法是:在拆分前去掉bbb开头和结尾的“;”;一种方法是去掉ccc中的空格元素。两种方法都需要写多余的代码,不符合python,大道至简的思想,^_^
下面看一下,比较简便的解决方法
from string import maketrans
print 'bbb: %s' % bbb
table = maketrans(';', ' ')
ccc = bbb.encode('utf-8').translate(table)
ccc = ccc.decode('utf-8')
print 'ccc: %s' % ccc
print 'split ccc: %s' % ccc.split()
l = set(ccc.split())
print 'remove duplicate: %s' % l
print 'concat str: %s' % ';'.join(l)
输出结果:
bbb: ;张三;李四;王五;张三;李四;
ccc: 张三 李四 王五 张三 李四
split ccc: [u'\u5f20\u4e09', u'\u674e\u56db', u'\u738b\u4e94', u'\u5f20\u4e09', u'\u674e\u56db']
remove duplicate: set([u'\u5f20\u4e09', u'\u674e\u56db', u'\u738b\u4e94'])
concat str: 张三;李四;王五
需要注意的是,在python 2.X中,如果bbb为unicode执行 ccc = bbb.translate(table)会抛出以下异常
TypeError: character mapping must return integer, None or unicode
需要转码为str才可以,在python3.x中没有这个问题。
-
Python 字符串去重
2019-11-07 16:27:09l1 = [ '672568', '10073708', '23851', '2065587', '10108378', '444199', '1208946', '567557', '10058944', '2342593', '454307', '82674', '1462876', '1817021', '10187031', '2189099', '464224', '930182', '...l1 = [ '672568', '10073708', '23851', '2065587', '10108378', '444199', '1208946', '567557', '10058944', '2342593', '454307', '82674', '1462876', '1817021', '10187031', '2189099', '464224', '930182', '2307915', '1775269', '511985', '1422826', '966669', '409939', '10208619', '10205786', '10099404', '502764', '10190405', '10241880', '10157588', '10154872', '10163790', '1246888', '10226340', '826623', '10022727', '10099811', '1829515', '151872', '633570', '1269051', '974980', '10194489', '1794213', '10172993', '10103797', '10226404', '10215124', '2773507', '3028032', '401820', '597369', '1243253', '10196398', '126108', '10119768', '10223687', '368918', '349969', '1794213', '2220047', '10244233', '880245', '10162599', '10239167', '697214', '10244232', '10244216', '1030289', '1314027', '3134469', '2597352', '3221960', '931786', '44128', '552671', '2954351', '200878535', '10132151', '1536874', '2564722', '396', '10221638', '957409', '919594', '2057961', '1475571', '505055', '60992', '10042018', '10221848', '10067738', '10229747', '618980', '346109', '517461', '3012187', '10187045', '10202791', '2073064', '1974135', '1064705', '10037839', '843167', '10033642', '467358', '10079012', '562261', '843167', '1678504', '3237064', '983625', '852376', '10241023', '702593', '10128468', '749741', '10167796', '2012825', '10132151', '10074387', '10244234', '10244187', '2358265', '469408', '1794213', '335654', '1794213', '932233', '10130529', '151872', '10072185', '151872', '10205909', '10244230', '10200097', '10011888', '485445', '208610', '23851', '940520', '10096204', '10005993', '10218665', '10011888', '10183907', '10088814', '1167859', '10066259', '538100', '10208619', '334066', '2910175', '10085243', '10244187', '2824870', '793336', '10065044', '10163660', '10141029', '390133', '10195287', '4343675', '10141029', '1910311', '1145740', '1043745', '10244235', '10109555', '10244073', '925111', '1860235', '1720324', '454307', '123504', '1064705', '10207131', '10196286', '701740' ] l2 = {}.fromkeys(l1).keys() print l2
-
python实现字符串去重
2021-05-21 18:42:38python实现字符串去重 一、方法一:通过列表set方法 1. set也是一组数,无序,内容又不能重复,通过调用set()方法创建 2.例子 s = "233333" print(s) a = set(list(s)) print(a) a = ''.join(a) print(a) ...python实现字符串去重
一、方法一:通过列表set方法
1. set也是一组数,无序,内容又不能重复,通过调用set()方法创建
2.例子
s = "233333" print(s) a = set(list(s)) print(a) a = ''.join(a) print(a)
输出
二、方法二:遍历字符串
a = "233333" a_1 = "" for i in a: if i not in a_1: a_1 += i print(a_1)
输出:
-
Python 字符串去重重复 列表去重复
2021-07-04 15:36:22lists = ["壡","壣","壥","夎","夐","夑","夒","囇","巑","囖","灪","瀸",...print(f"去重前字符数:{len(lists)}") l = list(set(lists)) # list去重 print(f"去重后字符数:{len(l)}\n") for i in l: print(i) ... -
python 字符串去重
2021-11-16 21:23:20str = 'adwsasfwwfwfghgjk' print(''.join(set(str))) 输出: wsdhafjkg -
Python字符串操作常用函数
2018-08-16 16:06:29Python字符串操作常用函数,包含了检索、统计、分割、替换、大小写转换、对齐,空格删除、字符串判断(头尾+组成) -
python之字符串去重排序
2021-11-02 09:37:28python之字符串去重排序 描述:输入一个非空字符串,去除重复字符后,从小到大排序输出为一个新字符串。 输入:一个非空字符串 输出:去重排序的字符串 代码详情 str1=input() s=set(str1) s=list(s) s.sort(reverse... -
python字符串去重(保持原顺序)
2022-03-04 18:30:45去除字符串中重复字符,并按字符在原字符串中的出现顺序输出。 平均代码量五行 -
「每日一练」巧用Python对字符串去重排序
2020-11-26 09:05:23我们在用EXCEL办公的时候,经常会遇到去重和排序的问题,其实无论用哪个软件都经常会遇到去重和排序问题,那么你知道用Python如何实现对字符串的去重排序吗?往下看,就是这么简单!案例s = "ajldjlajfdljfddd",... -
Python 利用内置set函数对字符串和列表进行去重的方法
2020-09-20 07:51:38今天小编就为大家分享一篇Python 利用内置set函数对字符串和列表进行去重的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
Python 字符串与列表去重
2020-11-21 03:52:09原博文2019-06-26 22:42 −最近面试中出现频率比较高的字符串和列表的去重pstr = 'abcadcf'# 字符串去重# 1、使用集合 --没有保持原来的顺序 print(set(pstr)) # 2、使用字典 -- 没有保持原来的顺序 print({}.... -
JS算法教程之字符串去重与字符串反转
2021-02-10 07:11:46一、字符串去重说起字符串去重,第一时间就会想起数组去重,所以我们可以把字符串转换为数组,然后对数组去重,去重完毕后在拼接成字符串,下面就简单罗列两种字符串去重的方法,接下来我们看代码。第一种方法:逻辑... -
pythonz字符串去重并排序
2021-09-29 22:33:28输入一个非空字符串,去除重复的字符后,从小到大排序输出为一个新字符串。 )) USER_GROUP = "devops" #初 -
python字符串去重的答案求解答
2021-11-03 16:16:28 -
python 字符串常用函数详解
2021-01-20 06:44:08字符串常用函数: 声明变量 str=Hello World find() 检测字符串是否包含,返回该字符串位置,如果不包含返回-1 str.find(Hello) # 返回值:0 str.find(W) # 返回值:6, 这里需要注意下:空格也是一个字符。W前面有... -
Python 字符串操作方法大全
2020-11-24 04:33:301、去空格及特殊符号s.strip().lstrip().rstrip(',')2、复制字符串#strcpy(sStr1,sStr2)sStr1 = 'strcpy'sStr2 = sStr1sStr1 = 'strcpy2'print sStr23、连接字符串#strcat(sStr1,sStr2)sStr1 = 'strcat'sStr2 = '... -
[Python] 实现字符串与列表数据去重
2022-02-09 21:28:30Python 实现字符串与列表数据去重 -
python中字符串和列表去重,保持原来顺序不变
2022-02-17 15:31:48python中字符串和列表去重,保持原来顺序不变 >>> l=[9,0,1,2,3,3,4,5,6,45,67,77,6,45,8] >>> ll=list(set(l)) >>> ll.sort(key=l.index) >>> ll [9, 0, 1, 2, 3, 4, 5, 6, 45...