如何重新分配字典的元素

时间:2018-01-26 19:46:12

标签: python python-3.x list

在我定义变量之后,我尝试更改用作列表元素的变量...希望代码能够比我更好地解释我的问题:

i = 0
friend = "jake"

stuff = [friend]
dialogue = ["talk to %s please" %(stuff[0])]

while i < 2:
    print (dialogue)
    friend = "paul"
    print ("")
    i+=1

因为它代表程序打印:

talk to jake please

talk to jake please

但我想要打印:

talk to jake please

talk to paul please

提前感谢您的帮助

修改

我已经意识到这个例子^过度简化了我的问题,所以我编写了另一个基本程序,更好地描述了我的问题,并把它放在另一个问题上,以防止这个问题变得太有价值< / p>

2 个答案:

答案 0 :(得分:0)

friend = "paul"更改为stuff[0] = "paul"

或者,您可以保留friend = "paul",但将stuff = [friend]再次放在其下方的行上。

在其中任何一个之后,您需要再次放置dialogue = ["talk to %s please" %(stuff[0])]行。

如果你想知道为什么你的方式不起作用,请在赞扬中询问。告诉我这是否有效!

P.S。有很多更好的方法来做你想做的事情。我建议你学习迭代,列表和for循环。

答案 1 :(得分:0)

据我了解您的简化问题,似乎您在stuff列表中有不同的变量意味着不同的东西。

针对此类事情的更合适的数据结构(尤其是当您要修改内容时)是 dictionary

因此,您可以将stuff定义为:

stuff = {"friend": "jake"}

然后你可以做以下事情:

print("talk to %s please" % stuff["friend"] )
#talk to jake please

并通过执行以下操作来修改朋友属性比list更容易:

stuff["friend"] = "paul"

现在将片段的输出设为两个:

talk to paul please