如何用python中的列表替换一组单词?

时间:2013-01-04 20:20:42

标签: python list python-3.x

我是一名GCSE计算系的学生,对python来说比较新。我正在完成第三个编程任务,包括制作一个简单的刽子手游戏。我设法使游戏工作,但成功标准的一部分是用户可以更改单词集。在程序中,程序正在使用预设单词列表。我已设法编写代码,允许用户输入新的单词集,然后将这些单词存储为列表。但是,当我尝试用用户输入的新列表替换旧的单词集时,我遇到了问题。 我非常困难,因为我还在度假,一直无法向老师寻求帮助。任何帮助或建议都会非常感激,因为我已经没时间了(我们将在2013年6月参加GCSE) 谢谢。 在这里输入代码

def newwords():
        newgamewords.append(input('Enter new word: '))
        print('Do you want to add any more words? yes or no?')
        answer=input()
        if answer == 'yes':
            newwords()
        else:
            while len(guessedletters) > 0 : guessedletters.pop()
            while len(displayletters) > 0 : displayletters.pop()
            while len(hangmanpics) > 0 : hangmanpics.pop()
            gamewords[:]=newgamewords
            hangmangame()

以下是一些代码......

1 个答案:

答案 0 :(得分:2)

您可以使用切片分配替换列表中的元素(

word_list = [ 'foo','bar','baz' ]
new_list = [ 'qux','tux','lux', 'holy cow!  python is awesome' ]

word_list[:] = new_list
print(word_list)  #[ 'qux','tux','lux', 'holy cow!  python is awesome' ]

new_listold_list甚至不需要相同的长度。


如果您愿意,也可以只将部分列表替换为其他列表的一部分:

word_list = [ 'foo','bar','baz' ]
new_list = [ 'qux','tux','lux', 'holy cow!  python is awesome' ]

word_list[1:-2] = new_list[:-1]
print word_list #['foo', 'qux', 'tux', 'lux', 'bar', 'baz']