Python在列表中链接字符串

时间:2013-05-22 12:26:52

标签: python

我试图为一个学校项目进行单词搜索并遇到麻烦。我正在使用一个具有该功能的类。这是我的代码:

class Board:
    def __init__(self,size=20):
        self.board = [['']*size]*size
        self.board[0][0] = 'A'
        self.words = ['lorem', 'ipsum', 'dolor', 'sit', 'amet',\
                      'consectetur', 'adipiscing', 'elit', 'quisque',\
                      'in', 'augue', 'sit', 'amet', 'est', 'ullamcorper',\
                      'bibendum', 'sed', 'at', 'arcu', 'nullam']
        self.clues = self.words

board = Board()
print ''.join(board.board[0])
print ''.join(board.board[1])

而不是打印出预期的('' =无)

A
''

打印出来

A
A

我做错了什么?

1 个答案:

答案 0 :(得分:3)

这将创建对同一列表的引用列表

self.board = [['']*size]*size

您需要为每个条目创建一个新列表

self.board = [['']*size for x in range(size)]

不可变对象乘以这样的列表是安全的。例如

['']*size
[0]*size

由于您被迫替换条目而不是修改它们