Python中如何将类似[ 0 1 2 3 4 5]的字符串转换成列表
请教类似[ 0 1 2 3 4 5]如何转化成列表
Python中如何将类似[ 0 1 2 3 4 5]的字符串转换成列表
5 回复
使用了 np.nonzero 生成的类似[ 0 1 2 3 4 5]如何转化成列表内置的列表
这个字符串格式有点特殊,看起来是用空格分隔但没有逗号。直接split()就能搞定:
# 原始字符串
s = "[ 0 1 2 3 4 5]"
# 方法1:简单split,然后转换类型
result = [int(x) for x in s.strip('[]').split()]
print(result) # [0, 1, 2, 3, 4, 5]
# 方法2:用正则匹配所有数字
import re
result = list(map(int, re.findall(r'\d+', s)))
print(result) # [0, 1, 2, 3, 4, 5]
# 方法3:如果字符串里可能有负数或小数
s2 = "[ -1 2.5 3 4.7 5]"
result = [float(x) for x in s2.strip('[]').split()]
print(result) # [-1.0, 2.5, 3.0, 4.7, 5.0]
第一种方法最直接:先去掉两边的方括号,然后按空格分割,最后把每个元素转成整数。
用split()就行,别想复杂了。
返回的是 tuple,你先 indexing 一下再掉 list 构造函数就可以了吧?有什么特殊要求吗
这个是字符串吗,字符串的话可以这样。
s1 = "[ 0 1 2 3 4 5]"
arr = [x for x in s1[::2][1:]]
谢谢帮助。

