Python如何实现字符串去重操作的代码示例


字符串去重是python中字符串操作常见的一个需求,最近在工作中就又遇到了,所以下面这篇文章主要给大家介绍了关于Python对字符串实现去重操作的相关资料,文中给出了详细的介绍,需要的朋友可以参考借鉴,下面来一起看看吧。
前言
最近在工作经常会碰到对字符串进行去重操作,下面就给大家列出用Python如何处理的,话不多说了,来一起看看详细的介绍吧。
比如说,要拿下面的字符传去掉重复的AA, A(B,C)

S = 'AA, BB, EE, DD, AA, A(B,C), CC, A(B,C)'

代码如下:


备注:

1. 用str.split(',')只能分隔逗号一种;如果涉及到多重分隔的话就需要使用re.split(',|:')

2. 原字符串以逗号分隔的,后面有一个或多个字符串,所以re.split(', | ')

3. 执行re.split(r', | ', S)操作之后,列表中会产生大量的'',就需要将filter过滤掉

4. 使用L.count(x) == 1 或者 L.count(x) > 1来保留重复项或,非重复项

5. set(L)则是保留列表中的唯一项,再用list()将其转换为列表

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

借助于python中的正则表达式(re),及列表,字符串,集合的等操作,来处理字符串还是很灵活的!

  • Python濡備綍瀹炵幇瀛楃涓插幓閲鎿嶄綔鐨勪唬鐮佺ず渚
    绛旓細姣斿璇达紝瑕佹嬁涓嬮潰鐨勫瓧绗︿紶鍘绘帀閲嶅鐨凙A, A(B,C)S = 'AA, BB, EE, DD, AA, A(B,C), CC, A(B,C)'浠g爜濡備笅:澶囨敞: 1. 鐢╯tr.split(',')鍙兘鍒嗛殧閫楀彿涓绉嶏紱濡傛灉娑夊強鍒板閲嶅垎闅旂殑璇濆氨闇瑕佷娇鐢╮e.split(',|:') 2. 鍘瀛楃涓浠ラ楀彿鍒嗛殧鐨勶紝鍚庨潰鏈変竴涓垨澶氫釜瀛楃涓诧紝鎵浠e.split(...
  • python鍘婚噸(姹夊瓧涓鏍,閲岄潰鐨勭紪鐮佷笉涓鏍)?
    绛旓細杩欐槸涓涓瓧绗︿覆鐨勫叏瑙掑拰鍗婅鐨勯棶棰橈紝鍙互瀵煎叆 unicodedata 涓殑 normalize 鍑芥暟鍏堟妸鍏ㄨ杞崲涓哄崐瑙掞紝鐒跺悗鍐嶇敤 set 瀵瑰垪琛ㄥ幓閲锛屽弬鑰冧唬鐮佸涓嬶細from unicodedata import normalize list3=['鐑彍','铳硅彍','鍑夎彍','纭彍']set(map(lambda s: normalize('NFKC', s), list3))杈撳嚭锛歿'纭彍', '鐑彍',...
  • python濡備綍鎻愬彇涓嶉噸澶瀛楃
    绛旓細灏嗘彁鍙栫殑瀛楃鍏ㄩ儴瀛樺叆鍒楄〃锛屼娇鐢╬ython鍐呯疆鐨剆et鍑芥暟杩涜鍘婚噸锛岃繖鏍峰氨鍙互寰楀埌涓嶉噸澶嶇殑瀛楃浜 绀轰緥浠g爜濡備笅锛氭墽琛岀粨鏋滃涓嬶細鏇村Python鐭ヨ瘑锛岃鍏虫敞锛歅ython鑷缃戯紒锛
  • 鎬ユ眰:濡備綍鐢python鍒犻櫎鏂囨湰涓殑閲嶅琛?
    绛旓細1.濡傛灉浣犵殑txt 鏂囦欢涓嶅ぇ鐨勮瘽 鍙互鐩存帴 tmp = open('**.txt').readlines() #鎶婂唴瀹逛竴娆℃у叏閮ㄨ鍙栧嚭鏉 鏄竴涓垪琛╯et(tmp) #杩欎釜灏辨槸鎶婂垪琛 鍘婚噸澶 鐒跺悗 浣犲彲浠ユ妸 杩欎釜鍘婚噸鍚庣殑tmp 鍐欏叆鍒版柊鐨勬枃浠2.txt寰堝ぇ锛岄偅涔堝彧鑳戒竴琛屼竴琛岀殑璇诲彇鍘婚噸浜#!/usr/bin/env python# coding=utf-8# python 2...
  • python鍘婚櫎鏂囨湰涓噸澶嶇殑瀛楃涓
    绛旓細input = open("a.txt", "r").read()output = open("b.txt", "w+")patterns = []for line in input.split("\n"): if line not in patterns: print line patterns.append(line + "\n")for pattern in patterns: output.write(pattern)output.close() 娴嬭瘯浜嗕笅婊¤冻浣犵殑...
  • LeetCode-python 316.鍘婚櫎閲嶅瀛楁瘝
    绛旓細缁欏畾涓涓粎鍖呭惈灏忓啓瀛楁瘝鐨瀛楃涓锛屽幓闄ゅ瓧绗︿覆涓噸澶嶇殑瀛楁瘝锛屼娇寰楁瘡涓瓧姣嶅彧鍑虹幇涓娆°傞渶淇濊瘉杩斿洖缁撴灉鐨勫瓧鍏稿簭鏈灏忥紙瑕佹眰涓嶈兘鎵撲贡鍏朵粬瀛楃鐨勭浉瀵逛綅缃級銆傜ず渚1 绀轰緥2 閬嶅巻鏁扮粍锛屼竴涓竴涓冭檻鏄惁闇瑕侊紝鑻ラ渶瑕侊紝灏卞瓨鍏tack 閬嶅巻涔嬪墠鐢╟ollections.Counter缁熻姣忎釜瀛楁瘝鐨勪釜鏁 褰撻亶鍘嗗埌绗琲涓瓧姣峴[i]鏃讹紝...
  • Python鍒楄〃鍘婚噸鐨勫叚绉嶆柟娉
    绛旓細鏂规硶涓锛氬埄鐢╯et鐨勭嫭鐗规ц川</ Python鍐呯疆鐨剆et鏁版嵁缁撴瀯鍏锋湁鏃犲簭涓斾笉鍏佽閲嶅鍏冪礌鐨勭壒鎬э紝鎴戜滑鍙互宸у鍦板埄鐢ㄨ繖涓壒鎬ф潵鍘婚噸銆傞氳繃灏嗗垪琛ㄨ浆鎹负set锛屽啀杞崲鍥瀕ist锛屽嵆鍙瀹炵幇鍘婚噸锛屽敖绠et浼氭墦涔卞師鏈夐『搴忥紝浣嗚繖鏄敮涓鍙兘涓㈠け椤哄簭鐨勬柟娉</銆傛柟娉曚簩锛氬熷姪瀛楀吀鐨勯敭鍊煎</ 鍒╃敤瀛楀吀鐨刦romkeys()鍑芥暟锛屽皢鍒楄〃涓殑...
  • ...|鍒嗛殧,鎻愬彇鏌愬垪鏁版嵁绛涢夊嚭鏉ュ苟鍔犱互鍘婚噸,鏈濂芥槸python
    绛旓細from os import listdirfn = 'data.txt'origin = listdir('.')"""s='''id || name || age1 || jie || 282 || ping || 25'''with open(fn, 'w') as f: f.write(s)"""with open(fn) as f: s = f.read()L = s.strip().split('\n')LL = [[j.stri...
  • Python濡備綍瀵瑰垪琛ㄨ繘琛鍘婚噸
    绛旓細1.浣跨敤set鐨勭壒鍨嬶紝python鐨set鍜屽叾浠栬瑷绫讳技,鏄竴涓棤搴忎笉閲嶅鍏冪礌闆唎rgList=[1,0,3,7,7,5]#list()鏂规硶鏄妸瀛楃涓str鎴栧厓缁勮浆鎴愭暟缁刦ormatList=list(set(orgList))print(formatList)缁撴灉锛歔0,1,3,5,7] 2.浣跨敤keys()鏂规硶orgList=[1,0,3,7,7,5]#list()鏂规硶鏄妸瀛楃涓瞫tr鎴栧厓缁...
  • 扩展阅读:python两个字符串拼接 ... python怎样把数字反转 ... python字符串以什么开头 ... python如何替换一个字符 ... python如何实现多行输入 ... python编程代码 ... python字符串出现的位置 ... python字符串去掉最后一位 ... python求字符出现的次数 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网