【问题标题】:How to make inequality sign and equality sign into a string如何将不等号和等号变成字符串
【发布时间】:2015-04-29 05:05:14
【问题描述】:

我正在尝试创建一个字符串数组,这些字符串都是 '=' 和 '='。
这是我制作的代码:

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]="="

我认为这应该可以,但是当我用 print 检查它时,我只得到这些:

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

我哪里做错了??我什至试过这些:

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]="="

但它仍然不起作用。请让我知道我错过了什么..

【问题讨论】:

    标签: python arrays string numpy


    【解决方案1】:

    您的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')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-08
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 2021-04-26
      • 2021-12-09
      • 1970-01-01
      相关资源
      最近更新 更多