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

yipeiwu_com7年前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 def函数的定义、使用及参数传递实现代码

Python编程中对于某些需要重复调用的程序,可以使用函数进行定义,基本形式为: def 函数名(参数1, 参数2, ……, 参数N): 执行语句函数名为调用的表示名,参数则是传入的参数...

Python提取支付宝和微信支付二维码的示例代码

Python提取支付宝和微信支付二维码的示例代码

支付宝或者微信支付导出的收款二维码,除了二维码部分,还有很大一块背景图案,例如下面就是微信支付的收款二维码: 有时候我们仅仅只想要图片中间的方形二维码部分,为了提取出中间部分,我们可以...

Django Python 获取请求头信息Content-Range的方法

request请求头信息的键会加上HTTP_转换成大写存到request.META中 因此你只需要 content_range = request.META['HTTP_CONTEN...

Django Channels 实现点对点实时聊天和消息推送功能

简介在很多实际的项目开发中,我们需要实现很多实时功能;而在这篇文章中,我们就利用django channels简单地实现了点对点聊天和消息推送功能。 手边有一个项目需要用到后台消息推送...

Python读取实时数据流示例

1、#coding:utf-8 chose = [ ('foo',1,2), ('bar','hello'), ('foo',3,4) ] def do_foo(x,y...