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等價。