我正在尝试通过将字符串的每个字符与“ alpha_list”的每个字符进行比较来创建与字符串相关的值的列表。这用于编码过程,以便以后可以添加数值。
我不断尝试从多种方法中获取多种错误,以实现这一目标。
import string
alpha_list = " ABCDEFGHIJKLMNOPQRSTUVWXYZ"
ints = "HELLO WORLD"
myotherlist = []
for idx, val in enumerate(ints):
myotherlist[idx] = alpha_list.index(val)
print(myotherlist)
现在这是我当前的错误阅读
Traceback (most recent call last):
File "C:/Users/Derek/Desktop/Python/test2.py", line 11, in <module>
myotherlist[idx] = alpha_list.index(val)
IndexError: list assignment index out of range
我对python很陌生,所以如果我犯了一个非常明显的错误,请随时批评。
我正在寻找的print(myotherlist)输出应该看起来像这样:
[8、5、12、12、15、0、23、15、18、12、4]
只需使用附加:
for val in ints:
myotherlist.append(alpha_list.index(val))
print(myotherlist)
myotherlist
是一个空列表,因此您无法使用访问,myotherlist[idx]
因为没有元素0等。
或者只是使用列表推导:
my_other_list = [alpha_list.index(val) for val in ints]
或使用map的功能方法:
map(alpha_list.index,ints))
两种输出:
In [7]: [alpha_list.index(val) for val in ints]
Out[7]: [8, 5, 12, 12, 15, 0, 23, 15, 18, 12, 4]
In [8]: map(alpha_list.index,ints)
Out[8]: [8, 5, 12, 12, 15, 0, 23, 15, 18, 12, 4]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句