我是python的新手,我正在开发一个可以加密和解密字符串的程序。作为其中的一部分,我需要将字符串的各个字母添加到空列表中;例如,字符串'hello'将被输入到列表中,如下所示:
['h','e','l','l','o']
可以在下面找到给我这个错误的代码部分。感谢。
emptyList=[]
message=input("What Would You Like To Encrypt?\n")
messageLength=len(message)
for count in range(0,messageLength):
emptyList=[]
emptyList[count].append(message[count])
答案 0 :(得分:4)
您正尝试在空列表中处理索引:
>>> lst = []
>>> lst[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
>>> lst[0] = 1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range
如果您想将元素添加到列表中,只需直接在列表对象本身上使用list.append()
即可创建更多索引;不要每次都创建新的空列表:
emptyList=[]
messageLength=len(message)
for count in range(0,messageLength):
emptyList.append(message[count])
不是说你需要这么详细,以下就足够了:
emptyList = list(message)
list()
接受任何迭代,并将该iterable的所有元素添加到列表中。由于字符串是可迭代的,因此产生该字符串中的所有字符,在字符串上调用list()
会创建这些字符的列表:
>>> list('hello')
['h', 'e', 'l', 'l', 'o']
答案 1 :(得分:2)
基本上你只想从输入中读取然后输出一个列表
message=raw_input("What Would You Like To Encrypt?\n")
print list(message)
message=input("What Would You Like To Encrypt?\n")
print(list(message))
如果您输入Hello
['H', 'e', 'l', 'l', 'o']