尝试附加一个包含不可变字符列表的列表 [Python]

Trying to append a list with immutable list of chars [Python]

所以我试图将一串字符附加到列表中,同时随着循环的进行更改列表中的最后一个字符。但是,每当我尝试更改字符列表时,所有以前的字符都会变成新的字符。我的代码:

    string = list("xxx");

for x_ in  range(0, 10):

    print string

    string[2] = x_;
    lisMonthData.append(string);

我正在尝试让第 2 个位置的最后一个字符向上计数。例如,我想要输出 xx0,xx1,xx2,...,xx9.

相反,我得到的输出是 xx9,xx9,xx9.....

有没有更有效的方法来创建三个字符的字符串,同时增加最后一位数字?

问题是您将十个对同一个列表的引用插入到您的列表列表中,并且当您修改其中一个列表时,您正在修改所有列表。

要解决此问题,您必须在循环中的某个时刻创建该列表的 copy,可以是在修改列表之前,也可以是在将列表添加到列表中时列表,例如

for x_ in  range(0, 10):
    string[2] = x_
    lisMonthData.append(string[:]) # slice [:] to create copy of entire list