Python-統計列表中元素個數以及所在列表的位置
看到一個程式設計小問題,統計一個列表中,元素出現的次數。
程式碼如下:
list1=[2,3,1,9,112,23,23,6,6,1,3,0,11,2,1,1]
L1=len(list1) #列表list1的長度list2=list(set(list1)) #可以用set,直接去掉重複的元素
list2.sort(reverse=False) #將列表由小到大排序
L2=len(list2) #列表list2的長度
print('集合:'+str(list1))
for m in range(L2):
X=set() #設定一個空的集合,用來存放這個元素的所在的位置
start=list1.index(list2[m])
for n in range(L1):
stop=L1
if list2[m] in tuple(list1)[start:stop]:
a=list1.index(list2[m],start,stop)
X.add(a)
start=start+1
print('元素:'+str(list2[m])+',一共有'+str(len(X))+'個,在列表位置集合為:'+str(X))
結果如下:
集合:[2, 3, 1, 9, 112, 23, 23, 6, 6, 1, 3, 0, 11, 2, 1, 1]
元素:0,一共有1個,在列表位置集合為:{11}
元素:1,一共有4個,在列表位置集合為:{9, 2, 14, 15}
元素:2,一共有2個,在列表位置集合為:{0, 13}
元素:3,一共有2個,在列表位置集合為:{1, 10}
元素:6,一共有2個,在列表位置集合為:{8, 7}
元素:9,一共有1個,在列表位置集合為:{3}
元素:11,一共有1個,在列表位置集合為:{12}
元素:23,一共有2個,在列表位置集合為:{5, 6}
元素:112,一共有1個,在列表位置集合為:{4}