尝试使用多个参数进行 .append,怎么做?

7 浏览
0 Comments

尝试使用多个参数进行 .append,怎么做?

这个问题已经有答案了:

Python中串联字符串的首选方式是什么?[重复]

我正在尝试将一组对象组合成一个单一的对象追加到列表的末尾。有没有办法我可以做到这一点?

我已经尝试使用多个参数进行.append,也尝试了搜索其他函数,但到目前为止我还没有找到任何函数。

yourCards = []
cards =["Ace","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Jack","Queen","King"]
suits = ["Hearts","Diamonds","Clubs","Spades"]
yourCards.append(cards[random.randint(0,12)],"of",suits[random.randint(0,3)])

我期望列表只是有一个新元素,例如\"Two of Hearts\",但是我遇到了以下错误:

TypeError: append() takes exactly one argument (3 given)

admin 更改状态以发布 2023年5月21日
0
0 Comments
yourCards.append(' '.join([random.choice(cards), "of", random.choice(suits)]))

要求直接复制或保留原文。

0
0 Comments

您正在发送append()多个参数而不是字符串。请将参数格式化为字符串,如下所示。此外,如@JaSON所述,random.choice()random.randint()更好。

3.6+使用f-strings

yourCards.append(f"{random.choice(cards)} of {random.choice(suites)}")

使用.format()

yourCards.append("{} of {}".format(random.choice(cards), random.choice(suites)))

字符串连接

yourCards.append(str(random.choice(cards)) + " of " + str(random.choice(suites)))
#You likely don't need the str() but it's just a precaution

改进Alex的join()方法

' of '.join([random.choice(cards), random.choice(suites)])

0