假设我有一个字符串:line = "[1, 2, 12]\n"
我想将其转换为整数列表:[1, 2, 12]
我有解决方案:
new_list = []
for char in line:
try:
new_list.append(int(char))
except ValueError:
pass
但这不适用于多于一个数字的数字。有内置的/更好的方法吗?谢谢
new_list = [int(num) for num in line.strip('[]\n').split(', ')]
更具可读性的解决方案是:
line = line.strip('[]\n')
list_of_strs = line.split(', ')
list_of_nums = []
for elem in list_of_strs:
list_of_nums.append(int(elem))
首先line
,除去括号和换行符。然后,将剩余的字符串以逗号分隔,并将结果保存在列表中。现在我们有了一个元素列表,其中每个数字仍然是一个字符串。然后for
循环将每个字符串元素转换为数字。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句