擅长:python、mysql、java
<p>看起来您想在列表中返回字符的ASCII值。你可以用一个列表在线性时间内完成。你知道吗</p>
<pre><code>symbols = 'axy12c'
</code></pre>
<p/>
<pre><code>lst = [ord(c) - ord('a') if c.isalpha() and c.islower() else -1 for c in symbols]
print(lst)
[0, 23, 24, -1, -1, 2]
</code></pre>
<hr/>
<p>既然你提到了数组,也有一种很简单的方法。你知道吗</p>
<pre><code>arr = np.array(list(symbols), dtype='|S1').view(np.int8) - 97
arr[(0 > arr) | (25 < arr)] = -1
print(arr)
array([ 0, 23, 24, -1, -1, 2], dtype=int8)
</code></pre>