【问题标题】:python - This part makes the code repeat twice, how can I fix itpython - 这部分使代码重复两次,我该如何解决
【发布时间】:2020-11-18 15:30:50
【问题描述】:
import discord

embed = discord.Embed()

for x in my_list:
    for y in New_list:
        embed.add_field(name=f'{x}', value=f'{y}', inline=False)

当我打开机器人并运行它时,它会发送 xy 两次,我想不出解决方案。

【问题讨论】:

  • 提供my_listNew_list 的示例。提供一个实际电流输出的例子和一个你想要的输出的例子。

标签: python python-3.x discord discord.py


【解决方案1】:

这是因为在循环通过 my_list 然后通过 New_list 时,您会在 embed 中添加字段。

例如,假设:

my_list = ["a", "b"]
New_list = ["c", "d"]
  • 首先,x 将等于"a"y"c",因此嵌入将添加名称字段"a" 和值"c"

  • 那么,x 仍将是"a",而y 将等于"d",因此嵌入将添加名称字段"a" 和值"d"

  • 然后,x 将等于 "b"y"c",因此嵌入将添加名称字段 "b" 和值 "c"

  • 最后,x 将等于"b"y"d",因此嵌入将添加名称"b" 和值"d" 的字段。

如果您只想添加名称"a"和值"c"的一个嵌入字段,以及名称"b"和值"d"之一,则需要使用内置的zip函数:

import discord

my_list = ["a", "b"]
New_list = ["c", "d"]

embed = discord.Embed()

for x, y in zip(my_list, New_list):
    embed.add_field(name=f'{x}', value=f'{y}', inline=False)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-31
    • 2013-10-09
    • 2015-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-28
    • 1970-01-01
    相关资源
    最近更新 更多