Вы можете использовать для этого понимание списка, которое похоже на более краткое for
l oop, которое создает новый список
>>> from string import digits
>>> chars = ['h', '1', 'C', 'i', '9', 'True', '3.1', '8', 'F', '4', 'j']
>>> is_num = [(i, i in digits) for i in chars]
>>> is_num
[('h', False), ('1', True), ('C', False), ('i', False), ('9', True), ('True', False), ('3.1', False), ('8', True), ('F', False), ('4', True), ('j', False)]
Это было бы эквивалентно следующему l oop
is_num = []
for i in chars:
is_num.append((i, i in digits))
>>> is_num
[('h', False), ('1', True), ('C', False), ('i', False), ('9', True), ('True', False), ('3.1', False), ('8', True), ('F', False), ('4', True), ('j', False)]
Обратите внимание, что проверка содержания выполняется с использованием in
против string.digits
>>> digits
'0123456789'
>>> '7' in digits
True
>>> 'b' in digits
False