我正在尝试使消息看起来像这样:
禁令列表:
•用户1 ID(用户1名称#用户1标识符)
•用户2 ID(用户2名称#用户2区分符)
•用户3 ID(用户3名称#用户3区分符)
我已经以列表格式获取了用户的ID,名称和区分符,但我不知道如何正确设置其格式。我已经纠结了.format
和.join
一段时间了,但是在没有每个数据都换行的情况下,我想不出如何以正确的顺序获取它。>
作为参考,这是我的代码现在的样子:
userid = ['User 1 ID', 'User 2 ID', 'User 3 ID']
name = ['User 1 Name', 'User 2 Name', 'User 3 Name']
discriminator = ['User 1 Disc', 'User 2 Disc', 'User 3 Disc']
total = list(chain.from_iterable(zip(userid, name, discriminator)))
await client.send_message(message.channel, "**Ban List:** \n •<@{}>".format(">\n• <@".join(total)))
这将输出:
禁令列表:
•@User 1 ID
•<@用户1名称>
•<@用户1光盘>
•@User 2 ID
•<@用户2名称>
•<@用户2光盘>
•@User 2 ID
•<@用户2名称>
•<@用户2光盘>
答案 0 :(得分:1)
在下面尝试以下代码,它不是一个单一的代码,但我想它更易读
userid = ['User 1 ID', 'User 2 ID', 'User 3 ID']
name = ['User 1 Name', 'User 2 Name', 'User 3 Name']
discriminator = ['User 1 Disc', 'User 2 Disc', 'User 3 Disc']
total = list((zip(userid, name, discriminator)))
# reformat the code into the desired formatting
pretty_list = set()
for details in total:
data = "•<@{} ({}#{})>".format(details[0], details[1], details[2])
pretty_list.add(data)
# debug print below
# print("**Ban list:** \n{}".format("\n".join(pretty_list)))
await client.send_message(message.channel, "**Ban list:** \n{}".format("\n".join(pretty_list)))
好运:)
答案 1 :(得分:0)
您可以尝试以下代码:
userid = ['User 1 ID', 'User 2 ID', 'User 3 ID']
name = ['User 1 Name', 'User 2 Name', 'User 3 Name']
discriminator = ['User 1 Disc', 'User 2 Disc', 'User 3 Disc']
total = zip(userid, name, discriminator)
await client.send_message(message.channel, "**Ban List:** \n{}".format("\n".join(["• {}".format(" ".join(list(item))) for item in total])))
答案 2 :(得分:0)
这是一种单线解决方案:
userid = ['User 1 ID', 'User 2 ID', 'User 3 ID']
name = ['User 1 Name', 'User 2 Name', 'User 3 Name']
discriminator = ['User 1 Disc', 'User 2 Disc', 'User 3 Disc']
#convert [['a1', 'a2'], ['b1', 'b2']] to iter([('a1', 'b1'), ('a2', 'b2')])
total = zip(userid, name, discriminator)
await client.send_message(message.channel, "**Ban List:**\n"
+ "\n".join("• {} ({}#{})".format(*i) for i in total))
输出应为:
禁令列表:
•用户1 ID(用户1名称#用户1光盘)
•用户2 ID(用户2名称#用户2光盘)
•用户3 ID(用户3名称#用户3光盘)