【发布时间】:2022-01-17 03:13:53
【问题描述】:
我有一个输入字符串,每个元素都有一个数字和字符,我想分别访问每个元素的数字和字符,如下所示:
1s-2r,3d*3 # this is the line in the input file: # this stars means repeated three time
所以我想让一个数组只包含数字:
number_only=[1,2,3,3,3] # numpy
s=[s,r,d,d,d] # another array string characters only
但是我得到了以下错误“TypeError: can't multiply sequence by non-int of type 'str'”.. 我知道这应该是一个整数,但我不知道该怎么做,附上的是试用码
import numpy as np
with open('dataa.dat', 'r') as f:
input_data = f.readlines()
input_data = [(d+' ')[:d.find('#')].rstrip() for d in input_data]
x = input_data[0].split('-')
y = []
for elt in x:
if "*" in elt:
n, mult = elt.split("*")
y = y + [(n)] * (mult)
else:
y+=[ii for ii in elt.split(',')]
number_only = np.array(y)
#s
【问题讨论】:
-
您是在问如何将字符串转换为
int? -
@ScottHunter 谢谢你的关心,实际上,我对基于重复值的星号后面的数字感兴趣,然后单独的值,