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

yipeiwu_com6年前Python基础

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

#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 #一层
######################################

补充

# -*- coding: utf-8 -*-
'''
只使用与较小的文件,比较大的文件运行时间长
'''
def quchong(infile,outfile):

  infopen = open(infile,'r',encoding='utf-8')
  outopen = open(outfile,'w',encoding='utf-8')
  lines = infopen.readlines()
  list_1 = []
  for line in lines:
    if line not in list_1:
      list_1.append(line)
      outopen.write(line)
  infopen.close()
  outopen.close()
quchong("源文件路径","目标文件路径")

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

相关文章

python找出因数与质因数的方法

最近有一个学弟问我一些求解质因数的问题,帮他解决问题的同时自己也试着写了几个差不多效果的脚本,有很多不同的思路,以下是相关脚本。 n = int(input("input numbe...

Python实现数据库编程方法详解

本文实例讲述了Python实现数据库编程方法。分享给大家供大家参考。具体分析如下: 用PYTHON语言进行数据库编程, 至少有六种方法可供采用. 我在实际项目中采用,不但功能强大,而且方...

Python数据分析之如何利用pandas查询数据示例代码

前言 在数据分析领域,最热门的莫过于Python和R语言,本文将详细给大家介绍关于Python利用pandas查询数据的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的...

Python最小二乘法矩阵

最小二乘法矩阵 #! /usr/bin/env python # -*- coding: utf-8 -*- import numpy as np def calc_left_k_m...

python在linux中输出带颜色的文字的方法

python在linux中输出带颜色的文字的方法

在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端中。而一般的应用服务器,第三方库,甚至服务器的一些通告也会在终端中显示,这样就搅乱...