添加列表python

2024-05-14 02:48:21 发布

您现在位置:Python中文网/ 问答频道 /正文

救命啊!我要改变什么才能让它变成这样

[('Mavis', 3), ('Ethel', 1), ('Rick', 2), ('Joseph', 5), ('Louis', 4)]

现在,用我的代码,结果是这样的

bots_status = [(bot_one_info) + (bot_two_info) + (bot_three_info) + (bot_four_info) + (bot_five_info)]

[('Mavis', 3, 'Ethel', 1, 'Rick', 2, 'Joseph', 5, 'Louis', 4)]


Tags: 代码infobotstatusonethreefourrick
3条回答

比如说:

bot_one_info = ('Mavis', 3)
bot_two_info = ('Mavi', 3)

如果你用+

lis = [bot_one_info + bot_two_info]
print lis
#Output 
[('Mavis', 3, 'Mavi', 3)]

但是如果你用,

lis = [bot_one_info,bot_two_info]
print lis 
#Output
[('Mavis', 3), ('Mavi', 3)]

您可以在这里使用,而不是+

将加号(+)替换为逗号(,),使其成为元组列表,而不是一个串联元组列表:

bots_status = [bot_one_info, bot_two_info, bot_three_info, bot_four_info, bot_five_info]

因为您的bot_x_info变量已经是元组了,所以您也不需要在名称周围使用括号(这些括号不起任何作用)


代码的问题是在元组上使用+。add运算符将元组连接到单个元组:

>>> (1, 2) + (3, 4)
(1, 2, 3, 4)

这就是为什么你的列表中只有一个巨大的元组

您想要的是将每个元组作为列表中的一个独立项,因此只需要从这些元组创建一个列表。就像您要用[1, 2, 3]来创建一个包含三个项目的列表一样,使用逗号来分隔每个项目,您也可以用其他值来执行此操作,例如在您的案例中使用元组

在机器人之间放置逗号而不是+符号。 如果使用的条目数量可变,请初始化数组并使用append将其添加到数组中

bots_status = []
for bot_info in bot_infos:
    bots_status.append(bot_info)

相关问题 更多 >