首页 > 解决方案 > 如何按类型计算列表中的元素?

问题描述

我想知道如何计算具有各种类型元素(数字/字符/符号)的列表中的元素?

myList = ['8', 'K' , '&' ,'2', '$' , '3' , 'T','R']

如果我想计算数字,结果将是 3。

l=["wael", "dd", ";D"]
l.clear()
print("Input the list size")
n=(int(input()))
for i in range(1,n+1):
 print("fill spot",i,"of the list with")
 l.append(input())
d=0
for i in range(1,n+1):
 if 0 or 1 or 2 or 3 or 4 or 5 or 6 or 7 or 8 or 9 in l:
    d=d+1
print("number=",d)

标签: python

解决方案


您可以使用:

import string
from collections import defaultdict
letters = string.ascii_letters
digits = string.digits

L = ['8', 'K' , '&' ,'2', '$' , '3' , 'T','R']

results = defaultdict(int)
for x in L:
    if x in letters:
        results["letters"] += 1
    elif x in digits:
        results["digits"] += 1
    else:
        results["special"] += 1

print(dict(results))
# {'digits': 3, 'letters': 3, 'special': 2}

演示


推荐阅读