熱線電話:13121318867

登錄
首頁精彩閱讀Python統計列表中的重復項出現的次數的方法
Python統計列表中的重復項出現的次數的方法
2017-12-14
收藏

Python統計列表中的重復項出現的次數的方法

本文以實例形式詳細講述了Python列表list數組array用法。分享給大家供大家參考。具體如下:
Python中的列表(list)類似于C#中的可變數組(ArrayList),用于順序存儲結構。
創建列表
 代碼如下:
sample_list = ['a',1,('a','b')]
Python 列表操作
代碼如下:
sample_list = ['a','b',0,1,3]
得到列表中的某一個值
代碼如下:
value_start = sample_list[0]
end_value = sample_list[-1]
刪除列表的第一個值
代碼如下:
del sample_list[0]
在列表中插入一個值
代碼如下:
sample_list[0:0] = ['sample value']
得到列表的長度
代碼如下:
list_length = len(sample_list)
列表遍歷
代碼如下:
for element in sample_list:
print(element)
Python 列表高級操作/技巧
產生一個數值遞增列表
代碼如下:
num_inc_list = range(30)
#will return a list [0,1,2,...,29]
用某個固定值初始化列表
代碼如下:
initial_value = 0
list_length = 5
sample_list = [ initial_value for i in range(10)]
sample_list = [initial_value]*list_length
# sample_list ==[0,0,0,0,0]

附:python內置類型'

1、list:列表 (即動態數組,C++標準庫的vector,但可含不同類型的元素于一個list中)
代碼如下:
a = ["I","you","he","she"]      #元素可為任何類型。

 
下標:按下標讀寫,就當作數組處理
以0開始,有負下標的使用
0第一個元素,-1最后一個元素,
-len第一個元 素,len-1最后一個元素

取list的元素數量
代碼如下:
len(list)   #list的長度。實際該方法是調用了此對象的__len__(self)方法。
創建連續的list
代碼如下:
L = range(1,5)      #即 L=[1,2,3,4],不含最后一個元素
L = range(1, 10, 2) #即 L=[1, 3, 5, 7, 9]
 
list的方法
代碼如下:
L.append(var)   #追加元素
L.insert(index,var)
L.pop(var)      #返回最后一個元素,并從list中刪除之
L.remove(var)   #刪除第一次出現的該元素
L.count(var)    #該元素在列表中出現的個數
L.index(var)    #該元素的位置,無則拋異常
L.extend(list)  #追加list,即合并list到L上
L.sort()        #排序
L.reverse()     #倒序

list 操作符:,+,*,關鍵字del
代碼如下:
a[1:]       #片段操作符,用于子list的提取
[1,2]+[3,4] #為[1,2,3,4]。同extend()
[2]*4       #為[2,2,2,2]
del L[1]    #刪除指定下標的元素
del L[1:3]  #刪除指定下標范圍的元素

list的復制
代碼如下:
L1 = L      #L1為L的別名,用C來說就是指針地址相同,對L1操作即對L操作。函數參數就是這樣傳遞的
L1 = L[:]   #L1為L的克隆,即另一個拷貝。
list comprehension
[ <expr1> for k in L if <expr2> ]

本文實例展示了Python統計列表中的重復項出現的次數的方法,是一個很實用的功能,適合Python初學者學習借鑒。具體方法如下:

對一個列表,比如[1,2,2,2,2,3,3,3,4,4,4,4],現在我們需要統計這個列表里的重復項,并且重復了幾次也要統計出來。
方法1:    
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:    
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:
    
>>> from collections import Counter
>>> Counter([1,2,2,2,2,3,3,3,4,4,4,4])
Counter({1: 5, 2: 3, 3: 2})

這里再增補一個只用列表實現的方法:    
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求出出現次數最多的位置。
只用這段代碼的話,有一個缺點,如果有多個結果,最后的現實的結果只是出現在最左邊的那一個,不過解決方法也很簡單

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢