python实现文本去重且不打乱原本顺序

924次阅读  |  发布于5年以前

代码也是在网上找的,效率挺不错的,特别适合字典文件的去重


    #coding=utf-8
    import sys
    def open_txt(): #打开TXT文本写入数组
    try:
    xxx = file(sys.argv[1], 'r')
    for xxx_line in xxx.readlines():
    passlist.append(xxx_line)
    xxx.close()
    except:
    return 0

    def write_txt(): #打开TXT文本写入数组
    try:
    yyy = file(sys.argv[2], 'w')
    for i in list_passwed:
    yyy.write(i)
    yyy.close()
    except:
    return 0

    global passlist #声明全局变量
    passlist = [] #用户名:anonymous 密码为空
    open_txt() #TXT导入数组
    #passlist = list(set(passlist)) #python 列表去重
    global list_passwed #列表去重,不打乱原来的顺序
    list_passwed=[]
    for i in passlist:
    if i not in list_passwed:
    list_passwed.append(i)
    write_txt()

python 读取TXT到数组 列表去重,不打乱原来的顺序


    ####################################################################
    #qq:316118740
    #BLOG:http://hi.baidu.com/alalmn
    # python 读取TXT到数组  列表去重,不打乱原来的顺序
    # 刚学写的不好请大家见谅
    ####################################################################



    def open_txt(): #打开TXT文本写入数组
      try:
        infile = file('admin.txt', 'r')
        xxx = file('admin.txt', 'r')
        for xxx_line in xxx.readlines():
          passlist.append(xxx_line)
        xxx.close()
      except:
        return 0

    def list_del(): #清空list列表
      try:
        i = 0 #得到list的第一个元素
        while i < len(passlist):
          del passlist[i]
          del list_passwed[i]
      except:
        return 0



    ###################################### 

      global passlist #声明全局变量
      passlist = []  #用户名:anonymous 密码为空
      www_cj(www) #域名拆解
      open_txt()  #TXT导入数组
      #passlist = list(set(passlist))  #python 列表去重
      global list_passwed #列表去重,不打乱原来的顺序
      list_passwed=[]
      for i in passlist:
        if i not in list_passwed:
          list_passwed.append(i)
    ######################################  遍历数组组合出 密码
      I1 = 0 #得到list的第一个元素
      while I1 < len(list_passwed):
        print "WWWWWWWWWWW",I1
        if I1==len(list_passwed):
          break #退出循环
        I2 = 0 #得到list的第一个元素
        while I2 < len(list_passwed):
          print "1111:",list_passwed[I1],"2222:",list_passwed[I2]
          I2 = I2 + 1 #二层
        I1 = I1 + 1  #一层
    ######################################

本文实例讲述了python读取TXT到数组及列表去重后按原来顺序排序的方法。分享给大家供大家参考。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8