我试图将一个由数字组成的字符串用连字符(‘-‘)隔开,转换成一个只包含数字的列表。例如:-如果一个字符串 str=”10-2-517-92″ 那么输出应该是 n=[10,2,517,92].到目前为止,我已经写了这段代码。
a="10-2-517-92"
n=[]
i=0
while(i<len(a)):
m=0
if(a[i]!="-"):
while(a[i]!="-" and i<len(a)):
m=m*10
m=m+int(a[i])
i+=1
n.append(m)
i=i+1
print(n)
我得到一个错误信息: string index out of range (在我使用的第二个循环中)
你能帮助我吗?
解决方案:
是否有什么限制条件,为什么你不直接使用 split
方法?
a="10-2-517-92"
arr_of_numbers = a.split('-')
# -> ['10', '2', '517', '92']
doc: https:/www.w3schools.compythonref_string_split.asphttps:/docs.python.org2librarystdtypes.html#str.split。