如何使不等式符号和相等符号成为一个字符串

时间:2015-04-29 05:05:14

标签: python arrays string numpy

我试图制作一系列字符串,这些字符串都是'< =','> ='和' ='。
这是我的代码:

del_str=np.zeros((Nnodes*ndofs),dtype=str)
    for i in range(Nnodes*ndofs):
        if dels[i]>0:
            del_str[i]="<="
        elif dels[i]<0:
            del_str[i]=">="
        else:              
            del_str[i]="="

我认为这应该可行但是当我用打印检查时,我只得到这些:

['=' '=' '=' '=' '=' '=' '<' '>' '<' '>' '>' '<' '>' '>' '>' '>' '>' '>' '>' '>' '>' '>' '>' '>' '>' '>' '>' '>' '=' '=' '=' '=' '<' '>']

我哪里出错?我甚至试过这些:

del_str=np.zeros((Nnodes*ndofs),dtype=str)
    for i in range(Nnodes*ndofs):
        if dels[i]>0:
            del_str[i]="<"+"="
        elif dels[i]<0:
            del_str[i]=">"+"="
        else:              
            del_str[i]="="

但它仍然无法运作。请让我知道我错过了什么..

1 个答案:

答案 0 :(得分:3)

您的datatype仅允许存储一个字符。尝试:

del_str = np.zeros((Nnodes*ndofs), dtype='|S2')

演示:

dtype=str

>>> del_str = np.zeros(10, dtype=str)
>>> del_str
array(['', '', '', '', '', '', '', '', '', ''], 
      dtype='|S1')
>>> del_str[0] = '<='
>>> del_str
array(['<', '', '', '', '', '', '', '', '', ''], 
      dtype='|S1')

dtype='|S2'

>>> del_str = np.zeros(10, dtype='|S2')
>>> del_str
array(['', '', '', '', '', '', '', '', '', ''], 
      dtype='|S2')
>>> del_str[0] = '<='
>>> del_str
array(['<=', '', '', '', '', '', '', '', '', ''], 
      dtype='|S2')