通常,要检测字符串字段,我可以检查第一个字符是否为字符串。例如:
>>> [str(v)[0].isalpha() for v in ['first', 'last']]
[True, True]
但是,有时我会有数据库或其他字符串字段,但以数字开头,例如“3D”是我遇到的一个字段。
检查列表中的所有项目是否都是字符串的最有效方法是什么?
这里有些例子:
['1.0', 'test', '3d', '123,000.00', '55']
> False, True, True, False, False
基本上,我想知道一个值是否可以存储为 varchar 字段或需要转换为非字符串字段。
它会是这样的:
values = ['1.0', 'test', '3d', '123,000.00', 55]
>>> [not re.sub(r'\,|\.', '', str(val)).isdigit() for val in values]
[False, True, True, False, False]
有没有更好的方法来做到这一点?