如何检查列表前四个元素是否为数字?解决TypeError报错问题
问题解决:检查列表前四个元素是否为数字字符
你的代码出错的原因是:myList[0:4]返回的是一个列表,而in运算符和字符串string.digits配合使用时,左侧必须是字符串类型,所以抛出了TypeError。
下面是几种可行的实现方式:
方法一:使用all()函数 + string.digits
这种方式简洁高效,适合快速实现需求:
import string myList = ['0', '3', '2', '7', 'O', 'K', 'P'] if all(item in string.digits for item in myList[:4]): print('okay') else: print('wrng')
方法二:使用all()函数 + str.isdigit()
不需要导入string模块,直接用字符串的isdigit()方法判断:
myList = ['0', '3', '2', '7', 'O', 'K', 'P'] if all(item.isdigit() for item in myList[:4]): print('okay') else: print('wrng')
方法三:手动遍历检查
如果需要更直观的逻辑展示,可以手动遍历前四个元素逐一判断:
import string myList = ['0', '3', '2', '7', 'O', 'K', 'P'] all_digits = True for item in myList[:4]: if item not in string.digits: all_digits = False break print('okay' if all_digits else 'wrng')
上述三种方法都能实现需求:只有当前四个元素全部是数字字符时,输出okay,否则输出wrng。
内容的提问来源于stack exchange,提问作者Rashmi
相关产品推荐
相关产品推荐

