我使用以下代码,但显示的错误索引超出范围
english=["merry", "christmas", "and", "happy", "new", "year"]
swedish=["god","jul","och","gott","nytt","år"]
dict = {english[n]: swedish[n] for n in range(len(english))}#dictionary
trans_list=[]#list to save translated words
def trans(list):
n=0
for word1 in list:
for word2 in english:
if word1==word2:
trans_list[n]=dict[word2]
n=n+1
print trans_list
list2=[]
list =["merry", "christmas", "and", "happy", "new", "year"]
trans(list)
trans_list定义为一个列表:
然而,这是一个空列表。因此没有可用的索引,赋值行失败:
^{2}$您只需将值附加到列表中即可:
以下是解决问题的另一种方法:
这将显示以下内容:
^{2}$首先,应该避免使用变量名,如},因为它们是在Python命令中构建的。Python不会抱怨,但您将重新分配其含义。在
dict
和{可以使用
zip
命令构造查找字典。在本例中,需要从两个列表中的每个列表中提取一个条目来提供给循环,然后循环将用于构造字典。在Python
list comprehension
可用于创建翻译后的列表。对于每个单词,它将其翻译并添加到新列表中。在相关问题 更多 >
编程相关推荐