我经常发现自己的 list 看起来像这样:
lst = ['A', '1', '2', 'B', '1', 'C', 'D', '4', '1', '4', '5', 'Z', 'D']
将此列表中的特定字符串转换为int的最pythonic方法是什么?
我通常会执行以下操作:
lst = [lst[0], int(lst[1]), int(lst[2]), lst[3], ...]
上面的方法似乎是错误的。是否有更好的方法将列表中的某些项目仅转换为整数?
最佳答案
我会说些类似的话:
>>> lst = ['A', '1', '2', 'B', '1', 'C', 'D', '4', '1', '4', '5', 'Z', 'D']
>>> lst = [int(s) if s.isdigit() else s for s in lst]
>>> lst
['A', 1, 2, 'B', 1, 'C', 'D', 4, 1, 4, 5, 'Z', 'D']