用Python怎么统计一个列表的元素种类和各个种类的个数? 用Python怎么统计一个列表的元素种类和各个种类的个数

\u7528Python\u600e\u4e48\u7edf\u8ba1\u4e00\u4e2a\u5217\u8868\u7684\u5143\u7d20\u79cd\u7c7b\u548c\u5404\u4e2a\u79cd\u7c7b\u7684\u4e2a\u6570

\u7528type\u83b7\u53d6\u5230\u5143\u7d20\u7684\u6570\u636e\u7c7b\u578b

\u7136\u540e\u5b58\u5230\u5b57\u5178\u91cc\u5c31\u884c\u4e86
\u952e\u662f\u5143\u7d20\u7c7b\u578b\uff08\u8f6c\u6362\u6210\u5b57\u7b26\u4e32
\u503c\u662f\u51fa\u73b0\u7684\u4e2a\u6570
\u6bcf\u6b21+1

\u6bd4\u5982\u4f60\u53ef\u4ee5\u8fd9\u6837\uff08\u7528isinstance()\u51fd\u6570\u6765\u5224\u65ad\u7c7b\u578b\uff09\uff1a
intCount = 0 #\u7528\u6765\u8bb0\u5f55\u5217\u8868\u4e2d\u7684int\u5143\u7d20\u4e2a\u6570listCount = 0 #\u8bb0\u5f55list\u5143\u7d20\u4e2a\u6570a = [1,'a',2,[1,2]]for i in a: #\u904d\u5386a if isinstance(i,int): #\u5224\u65adi\u662f\u4e0d\u662fint intCount += 1 elif isinstance(i,list): #\u5224\u65adi\u662f\u4e0d\u662flist listCount += 1print(intCount,listCount)\u7ed3\u679c\u662f2 1\uff0c\u4e5f\u5c31\u662f\u67092\u4e2aint\u5143\u7d20\uff0c1\u4e2alist\u5143\u7d20\u3002
\u8fd9\u662f\u4e00\u4e2a\u601d\u8def\uff0c\u4f60\u53ef\u4ee5\u6839\u636e\u9700\u8981\u6dfb\u52a0\u5224\u65ad\u7684\u7c7b\u578b\uff0c\u6bd4\u5982\u8981\u7edf\u8ba1float\u7c7b\u578b\uff0c\u5c31\u53ef\u4ee5\u518d\u52a0\u4e2aelif isinstance(i,list)\u6765\u8fdb\u884c\u7edf\u8ba1\u3002\u81f3\u4e8e\u5143\u7d20\u79cd\u7c7b\uff0c\u5bf9\u5e94\u7684\u8bb0\u5f55\u662f0\uff0c\u5c31\u8bf4\u660e\u6ca1\u6709\u8fd9\u4e2a\u79cd\u7c7b\u7684\u5143\u7d20\uff0c\u6bd4\u5982\u5982\u679cintCount\u662f0,\u5c31\u8bf4\u660e\u5217\u8868\u4e2d\u6ca1\u6709int\u5143\u7d20\u3002

统计一个列表中每一个元素的个数在Python里有两种实现方式,

第一种是新建一个dict,键是列表中的元素,值是统计的个数,然后遍历list。

items = ["cc","cc","ct","ct","ac"]

count = {}
for item in items:
    count[item] = count.get(item, 0) + 1
print(count)
#{'ac': 1, 'ct': 2, 'cc': 2}

之中用到了一个小技巧,当dict中不还没有统计过一个元素时,直接索引count[item]会报错,而使用get方法count.get(item, 0)能够设置索引不存在的键时返回0。


第二种是使用Python内置的函数。统计元素的个数是一种非常常见的操作,Python的collection包里已经有一个Counter的类,大致实现了上面的功能。

from collections import Counter

items = ["cc","cc","ct","ct","ac"]
count = Counter(items)
print(count)
#Counter({'ct': 2, 'cc': 2, 'ac': 1})


res = {}
for i in numbers:
res[i] = res.get(i, 0) + 1
print([k for k in res.keys()])
print([v for v in res.values()])

  • python濡備綍缁熻鍒楄〃鐨勯暱搴
    绛旓細//涓ょ瀹氫箟鏂瑰紡鍙兘浜岄変竴涓涓鎸囬拡鍙橀噺褰撶敤鏉ユ寚鍚戜竴涓粨鏋勫彉閲忔椂锛岀О涔嬩负缁撴瀯鎸囬拡鍙橀噺銆
  • python鎬庝箞瀹炵幇瀵规暟瀛鍒楄〃鎵ц绠鍗曠殑缁熻璁$畻
    绛旓細1. 閬嶅巻鏁翠釜鍒楄〃 magicians = ['alice', 'david', 'carolina']for magician in magicians:print(magician)123123 2. 閬垮厤缂╄繘閿欒 Python鏍规嵁缂╄繘鏉ュ垽鏂唬鐮佽涓庡墠涓涓浠g爜琛岀殑鍏崇郴銆傚繕璁扮缉杩 涓嶅繀瑕佺殑缂╄繘 閬楁紡浜嗗啋鍙
  • python 鑾峰彇鍒楄〃鍏冪礌鏈夊嚑绉嶆柟寮,甯歌鐨勬槸鍝?
    绛旓細Python涓垪琛甯歌鐨勬柟娉曟湁鍝簺锛Python鍒楄〃瀹氫箟:鎸夌壒瀹氶『搴忔帓鍒楃殑鍏冪礌缁勬垚銆傚湪Python涓紝鐢ㄦ柟鎷彿[]鏉ヨ〃绀哄垪琛紝骞剁敤閫楀彿鏉ュ垎闅斿叾涓殑鍏冪礌銆侾ython鍒楄〃鏄紪绋嬩腑寰堝父瑙佺殑鏁版嵁绫诲瀷 銆傚垪琛ㄦ槸涓绉嶅彲淇敼鐨勯泦鍚堢被鍨嬶紝鍏跺厓绱犲彲浠ユ槸鏁板瓧銆乻tring绛夊熀鏈被鍨嬶紝涔熷彲浠ユ槸鍒楄〃銆佸厓缁勩佸瓧鍏哥瓑闆嗗悎瀵硅薄锛岀敋鑷冲彲浠ユ槸鑷畾涔夌殑...
  • python濡備綍缁熻list鏈夊嚑涓繛缁殑鏁板瓧
    绛旓細mylist = [1,1,0,1,1,1,0,0,0,0,1,1,1,1,0,1,0,11,0]result = {}tmp = Nonefor i in mylist: if not result.has_key(i): #鏂板嚭鐜扮殑鍊间负1 result[i] = {'tmpcount':1,'maxcount':1} else: if i == tmp : #鍚屼笂涓娆$浉鍚,tmpcount鏁板瓧鍔犱竴,鍚...
  • Python涓庝箞蹇熸彁鍙朙ist涓殑鍏冪礌涓暟
    绛旓細commonest = [1,2,2,2,1,3,4,5,1,1]print(commonest.count(1))闇瑕佹妸鏁版嵁瀛樺偍鍒鍒楄〃涓紝鍒楄〃鐨刢ount鐨勬柟娉曞彲浠缁熻鏌愪釜鍏冪礌鍑虹幇鐨勬鏁
  • Python鍒楄〃鐢ㄦ硶澶у叏瀛︾敓闇鐭
    绛旓細Python鍒楄〃鐢ㄦ硶澶у叏 鍒楄〃灏辨槸鐢ㄦ潵淇濆瓨涓缁勬暟鎹殑锛浣跨敤涓嫭鍙穂7灏嗘暟鎹寘璧锋潵锛屾暟鎹箣闂寸敤鑻辨枃閫楀彿,闅斿紑銆1銆佸垪琛ㄧ壒鐐 濡傛灉鍒楄〃鏄涓涓灏忓濮愶紝鍒楄〃涓殑鏁版嵁鏄竴涓釜濞冨▋锛岄偅鍙互杩欐牱鏉ユ弿杩板垪琛ㄦ槸涓涓钩鏄撹繎浜虹殑灏忓濮愶紝濂规讳細鎶婁功鍖呴噷鐨勫▋濞冩暣鐞嗙殑浜曚簳鏈夋潯锛屾瘡涓▋濞冮兘鏈夎嚜宸辩殑缂栧彿锛屽苟涓旂紪鍙锋槸浠0寮濮...
  • python缁熻瀛楀吀閲屾湁涓涓垪琛 闈㈠兼暟閲
    绛旓細缁熻娆℃暟銆侰ounter涓嶄粎鍙互缁熻鍒楄〃鍏冪礌鍑虹幇娆℃暟锛岃繕鑳界粺璁″瓧鍏稿厓绱犲嚭鐜版鏁帮紝浠ュ強瀛楃涓蹭腑鏌愪釜瀛楁瘝鍑虹幇娆℃暟骞朵笖杩樺彲浠ユ寜鐓ф暟閲忔帓搴鍒╃敤瀛楀吀鐨刧et鍑芥暟锛実et琛ㄧず鏍规嵁瀛楀吀鐨刱ey鍙栧畠鐨剉alue鍊硷紝濡傛灉璇ey涓嶅瓨鍦紝鍒檝alue鍊间細榛樿涓篻et鐨勭浜屼釜鍙傛暟銆Python鏄竴绉嶈法骞冲彴鐨勮绠楁満绋嬪簭璁捐璇█鏄涓涓楂樺眰娆$殑缁撳悎浜嗚В閲...
  • Python缂栫▼,宸茬煡20涓垚缁╁瓨鍏涓涓垪琛涓,璇峰鍏惰繘琛缁熻,杈撳嚭鍥涗釜绛夌骇...
    绛旓細浠绘剰杈撳叆4涓暣鏁帮紝浠庡ぇ鍒板皬鎺掑垪杈撳嚭銆俶ain(){int a,b,c,d,m;scanf("%d %d %d %d",&a,&b,&c,&d);if(b>a){m=a;a=b;b=m;} if(d>c){m=c;c=d;d=m;} if(c>a){m=a;a=c;c=m;} if(c>b);{m=b;b=c;c=m;}printf("\n%d %d %d %d\n",a,b,c,d)銆
  • python涓鐨鍒楄〃涓父鐢ㄧ殑鏂规硶鏈夊摢浜,鍒嗗埆鏄粈涔堜綔鐢?
    绛旓細棣栧厛锛Python宸茬粡鍐呯疆纭畾搴忓垪鐨勯暱搴︿互鍙婄‘瀹氭渶澶у拰鏈灏忕殑鍏冪礌鐨勬柟娉曘傚垪琛ㄦ槸鏈甯哥敤鐨凱ython鏁版嵁绫诲瀷锛屽畠鍙互浣滀负涓涓柟鎷彿鍐呯殑閫楀彿鍒嗛殧鍊煎嚭鐜般傚垪琛ㄧ殑鏁版嵁椤逛笉闇瑕佸叿鏈夌浉鍚岀殑绫诲瀷銆傚垱寤涓涓垪琛锛屽彧瑕佹妸閫楀彿鍒嗛殧鐨勪笉鍚岀殑鏁版嵁椤浣跨敤鏂规嫭鍙锋嫭璧锋潵鍗冲彲銆備互涓嬫槸鍒楄〃鏈甯哥敤鐨勬柟娉曪細1.append() --- 鍚戝垪琛ㄧ殑...
  • 扩展阅读:python统计出现次数 ... 用python编写1到100的和 ... python编程求1到100的和 ... python怎么从大到小排序 ... python求字母出现次数 ... python怎么统计个数 ... python怎么找1000内的完数 ... python初学编程必背 ... python统计满足条件的个数 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网