python字符串去重
㈠ python去除文本中重复的字符串
你的数据都是一行一行的吗?
是的话这样试试
input=open("a.txt","r").read()
output=open("b.txt","w+")
patterns=[]
forlineininput.split(" "):
iflinenotinpatterns:
printline
patterns.append(line+" ")
forpatterninpatterns:
output.write(pattern)
output.close()
测试了下满足你的输入输出
㈡ 几个Python题目
1.【选择】下面哪个选项不是定义列表的正确方式?(D)
D.myList4=2,3,4,5
答案解析:这是定义元组的方式,而不是列表
2.【选择】根据下面表达式,a的值是:(C)
C.loWo
3.【填空】请写出如何切片myList[]的倒数第3~5位。
myList[-3:-5]
4.【判断】列表内元素的下标是从0开始的。(√)
5.【选择】下列Python表达式可以将列表反向并改变原列表值的是:(D)
D.myList.reverse()
答案解析:切片会生成新的列表;reversed只是生成新的迭代器;只有list.reverse()会对原表的值进行改变
-----------
1.【判断】Python语句“x="a","b","c"”中,x是一个元组。(√)
2.【选择】执行下列Python语句会报错的是:(A)
A.myTuple[3]=30
答案解析:元组是immutable(不可变)的,所以不能改变元组的值
3.【填空】使用Python内置函数,计算元组myTuple的语句是:
sum(myTuple)
4.【选择】下列关于Python的描述错误的是:(C)
C.对元组内部元素进行排序使用的是sort()
答案解析:元组不可变,所以不能对元素进行排序
------------
1.【选择】下列关于Python中字符串说法错误的是:(D)
D.Python中字符类型是char,字符串的类型是str
答案解析:python字符和字符串类型都是str
3.【填空】请写出用空格“”合并字符串“Jane”、“Doe”的Python语句:
"Jane"+""+"Doe"
4.【选择】下列不是Python3中解决路径中特殊字符问题的选项是:(C)
C.s=u"D: est"
------------
1.【选择】下列不是序列的是:(C)
C.集合
3.【选择】下面哪些操作是序列都具有的?(D)
D.以上都是
-----
1.【判断】Python中符号{}仅用在集合这一数据类型中。(B.×)
3.【填空】语句set("datascience")的结果是:
集合{'d','a','t','s','c','i','e','n'}
4.【选择】下列关于集合的说法错误的是:(A)
A.集合具有互异性,定义集合时不允许出现相同的元素
答案解析:出现了重复也没事,会自动去重的。
7.【选择】在Python中对数据进行去重处理,一般会借助下列哪种数据类型?(C)
C.集合
---------
1.【填空】有两个列表a=["name","age","sex"],b=["jonh","23","M"],请用一个语句将这两个列表转换成字典,其中列表a中的元素为“键”,列表b中的元素为“值”。
dict(zip(a,b))
2.【填空】定义一个新字典如下,用print输出dict1的结果是:
{1:3,2:'a'}
4.【判断】下面对字典d的定义是正确的。(B.×)
答案解析:列表不能用做键。应该用元组('a','b')做键。
㈢ python字符串处理问题
Pythonstrip()方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
Pythonreplace()方法把字符串中的old(旧字符串)替换成new(新字符串),如果指定第三个参数max,则替换不超过max次。
str.replace(old,new[,max])
举个栗子
㈣ python3.6对字符串去重复的问题
你的算法基本已经是对的了。只是判断再改一下就行了。以下是修改的代码。
l1=list(a)
l2=[]
foriinl1:
ifnoti.upper()inl2andnoti.lower()ini2:
l2.append(i)
l3=''.join(l2)
这样就行了,多说一句,对于字符串,本身就是可以迭代的,所以l1=list(a)这句其实是多余的。修改的地方就是在于判断i的大小写是不是都不在数组里面,都不在就把i加到数组里面这样就行了。如果只是去重,两句话。seta=set(a)
l3=''.join(seta)就行了。不明白可追问。
㈤ 用Python怎么删除两个字符串中相同的部分
摘要 1、使用set函数
㈥ 急求:如何用python删除文本中的重复行
1.如果你的txt文件不大的话可以直接
tmp=open('**.txt').readlines()#把内容一次性全部读取出来是一个列表
set(tmp)#这个就是把列表去重复
然后你可以把这个去重后的tmp写入到新的文件
2.txt很大,那么只能一行一行的读取去重了
#!/usr/bin/envpython
#coding=utf-8
#python2.7
outfile=open('result-readline.txt','w')#新的文件
list_1=[]
forlineinopen('test.txt'):#老文件
tmp=line.strip()
iftmpnotinlist_1:
list_1.append(tmp)
outfile.write(line)
outfile.close()
㈦ 求教, Python 怎么去掉重复的词, 下面有例子。
1.如果你的txt 文件不大的话 可以直接 tmp = open('**.txt').readlines() #把内容一次性全部读取出来 是一个列表set(tmp) #这个就是把列表 去重复 然后 你可以把 这个去重后的tmp 写入到新的文件2.txt很大,那么只能一行一行的读取去重了#!/usr/bin/env python# coding=utf-8# python 2.7outfile = open('result-readline.txt', 'w') #新的文件list_1=[]for line in open('test.txt'): #老文件 tmp = line.strip() if tmp not in list_1: list_1.append(tmp) outfile.write(line)outfile.close()
㈧ python关于string(字符串)的问题: 删除重复的字母
普通字符串可以用多种方式编码成unicode字符串,具体要看你究竟选择了哪种编码:
unicodestring
=
u"hello
world"
#
将unicode转化为普通python字符串:"encode"
utf8string
=
unicodestring.encode("utf-8")
asciistring
=
unicodestring.encode("ascii")
isostring
=
unicodestring.encode("iso-8859-1")
utf16string
=
unicodestring.encode("utf-16")
#
将普通python字符串转化为unicode:"decode"
plainstring1
=
unicode(utf8string,
"utf-8")
plainstring2
=
unicode(asciistring,
"ascii")
plainstring3
=
unicode(isostring,
"iso-8859-1")
plainstring4
=
unicode(utf16string,
"utf-16")
assert
plainstring1
==
plainstring2
==
plainstring3
==
plainstring4
㈨ python如何提取不重复字符
python提取不重复字符的方法:
将提取的字符全部存入列表,使用python内置的set函数进行去重,这样就可以得到不重复的字符了
示例代码如下:
执行结果如下:
更多Python知识,请关注:Python自学网!!
㈩ python去重(汉字一样,里面的编码不一样)
这是一个字符串的全角和半角的问题,可以导入unicodedata中的normalize函数先把全角转换为半角,然后再用set对列表去重,参考代码如下:
list3=['热菜','凉菜','凉菜','硬菜']
set(map(lambdas:normalize('NFKC',s),list3))
输出:
{'硬菜','热菜','凉菜'}
扩展:
“NFKC”代表“NormalizationFormKC[CompatibilityDecomposition,]”,并将全角字符替换为半角字符,这些半角字符与Unicode等价。