#!/usr/local/bin/python3
inputlst = []
n = eval(input())
for i in range(n):
num = eval(input())
inputlst.append(num)
# 先使用 sort 排序
# 使用 set 將 list 的元素 去掉重複
# 再使用 list 的 count() method 計算
# 包起來使用 List Comprehensions
inputlst.sort()
outlst = [ inputlst.count(x) for x in set(inputlst) ]
print(outlst)
# 但是這樣不夠清晰啊.我們來增加一些資訊吧,使用 dict
outdic = dict( (x, inputlst.count(x)) for x in set(inputlst) )
print(outdic)
Result:
5
3
1
2
1
2
[2, 2, 1]
{1: 2, 2: 2, 3: 1}
List=[]
n=eval(input())
for i in range(n):
num=eval(input())
List.append(num)
a = {}
for i in List:
if List.count(i)>=1:
a[i] = List.count(i)
a = sorted(a.items(), key=lambda item:item[0],reverse=False)
num=[]
for item in a:
num.append(item[1])
print(num)
選我最佳解
超酷炫5行解決法:
n = int(input())
arr = sorted([int(input()) for i in range(n)])
output = dict((k, arr.count(k)) for k in set(arr))
print(list(output.values()))
print(output)
效果同一級屠豬士大大。XD
最佳解答不要選我,這只是讓你看看熟練python以後能得到多簡潔的code。