⑴ 如何找出 python list 中有重復的項
可以對第二個list的元素進行遍歷,檢查是否出現在第二個list當中,如果使用表理解,可以使用一行代碼完成任務。
list1 = [1,2,3,4,5]
list2 = [4,5,6,7,8]
print [l for l in list1 if l in list2]
# [4,5]
如果每一個列表中均沒有重復的元素,那麼還有另外一種更好的辦法。首先把兩個list轉換成set,然後對兩個set取交集,即可得到兩個list的重復元素。
set1 = set(list1)
set2 = set(list2)
print set1 & set 2
# {4,5}
⑵ python刪除列表中的重復值
答: 主要總結了以下三種方法進行列表中的重復值刪除。具體代碼如圖所示。
其中最簡單的就是方法一和方法三了,因為他們只需要進行相關函數的調用。
同學們如果對方法二感興趣的話,也可以進行動手復現,它相比於方法一和三會更難一點,但是更有利於鍛煉代碼思維。
⑶ python怎麼去掉重復值
去掉重復值的話,那一定是安在他的系統里進行相關設置了,那麼去掉的方法那就是把不要的內容給他刪除掉。留下他你需要的就可以。
⑷ 如何用python實現兩個文件重復數據篩選並統計
本文實例展示了Python統計列表中的重復項出現的次數的方法,是一個很實用的功能,適合Python初學者學習借鑒。具體方法如下:
對一個列表,比如[1,2,2,2,2,3,3,3,4,4,4,4],現在我們需要統計這個列表裡的重復項,並且重復了幾次也要統計出來。
方法1:
?
1234
mylist = [1,2,2,2,2,3,3,3,4,4,4,4]myset = set(mylist) #myset是另外一個列表,裡面的內容是mylist裡面的無重復 項for item in myset: print("the %d has found %d" %(item,mylist.count(item)))
方法2:
?
123456
List=[1,2,2,2,2,3,3,3,4,4,4,4]a = {}for i in List: if List.count(i)>1: a[i] = List.count(i)print (a)
利用字典的特性來實現。
方法3:
?
123
>>> from collections import Counter>>> Counter([1,2,2,2,2,3,3,3,4,4,4,4])Counter({1: 5, 2: 3, 3: 2})
這里再增補一個只用列表實現的方法:
?
12345678910
l=[1,4,2,4,2,2,5,2,6,3,3,6,3,6,6,3,3,3,7,8,9,8,7,0,7,1,2,4,7,8,9] count_times = []for i in l : count_times.append(l.count(i)) m = max(count_times)n = l.index(m) print (l[n])
其實現原理就是把列表中的每一個數出現的次數在其對應的位置記錄下來,然後用max求出出現次數最多的位置。
只用這段代碼的話,有一個缺點,如果有多個結果,最後的現實的結果只是出現在最左邊的那一個,不過解決方法也很簡單
⑸ python找出列表元素重復個數和重復值
輸出列表元素重復個數
def get_element(data):
dic = {}
i = 0
while i < len(data):
if data[i] in dic:
"""
循環查找列表元素,如果一個元素出現一次,value就等於1,多次出現,value就增加
"""
dic[data[i]] += 1
else:
dic[data[i]] = 1
i += 1
for j, k in dic.items():
if k > 1:
print('data數組中重復的元素有%d,它的個數是%d個'%(j,k))
print(dic)
my_list =[1,2,3,4,2,4,2,3,4,5,6,23,23,32]
get_element(my_list)
⑹ python找出字元串的重復兩次的字元
a=int(input('請輸入'))
list=[]
sum=[]
for i in range(a):
b=input('請輸入數據')
list.append(b)
for i in range(a): #這個是為了循環多次,保證count<2的數值全部取出來,因為在
for i in list:
if list.count(i)<2: #舉個例子:1,3,3,4,5則在這里得出的list為3,3,5,因為 count<2的
list.remove(i) #數有1,4,5,remove()刪除的是該條件下的第一個符合該條件 的 值,所以5
else: #刪除不了,所以要循環多次
pass
for i in list:
sum.append(i)
for i in sum:
for j in sum:
if i==j:
sum.remove(i)
else:
print('沒有重復的值')
print(sum)
運行結果為
請輸入5
請輸入數據1
請輸入數據3
請輸入數據3
請輸入數據5
請輸入數據2
['3']
這你看一下,如果有看不懂的我再跟你說一下,關鍵是思路
⑺ Python 清除重復值
from pandas import read_csv
df = read_csv('D://PDA//4.3//data.csv')
df
#找出行重復的位置
dIndex = df.plicated()
#根據某些列,找出重復的位置
dIndex = df.plicated('id')
dIndex = df.plicated(['id', 'key'])
#根據返回值,把重復數據提取出來
df[dIndex]
id key value
4 1251147 品牌 Apple
5 1251147 商品名稱 蘋果iPad mini 3
#直接刪除重復值
#默認根據所有的列,進行刪除
newDF = df.drop_plicates()
#當然也可以指定某一列,進行重復值處理
newDF = df.drop_plicates('id')