python - 如何迭代一个范围,然后将列表中的项目附加到它?
问题描述
现在,在消息末尾添加反应的 for 循环需要number_of_responses
,这就是我想要的。但我也希望根据e.add_field
字段添加字段number_of_responses
(连同字段中的正确表情符号,name
然后将列表中的项目添加answers
到他们value
的 s 中)。
async def run_script(params):
params = params
channel = client.get_channel(<obfuscated>)
emoji_numbers = ["1️⃣", "2️⃣", "3️⃣", "4️⃣", "5️⃣", "6️⃣", "7️⃣", "8️⃣", "9️⃣"]
question = params[0] # string
answers = ast.literal_eval(params[1]) # list
number_of_responses = len(answers) # int
e = discord.Embed(title='Title', description='Desc.', color=discord.Color.blue())
e.add_field(name=question, value='\u200b', inline=False)
e.add_field(name='1️⃣', value='Mobiel', inline=False)
e.add_field(name='2️⃣', value='Tablet', inline=False)
e.add_field(name='3️⃣', value='Laptop', inline=False)
e.add_field(name='4️⃣', value='Desktop', inline=False)
e.add_field(name='5️⃣', value='TV', inline=False)
message = await channel.send(embed=e)
for i in range(number_of_responses):
await message.add_reaction(emoji_numbers[i])
for i in range(4, -1, -1):
time.sleep(1)
await channel.send("Going to sleep now")
await client.close()
解决方案
无需循环索引。只是和:zip
_answers
emoji_numbers
for emoji, answer in zip(emoji_numbers, answers):
e.add_field(name=emoji, value=answer, inline=False)
await message.add_reaction(emoji)
推荐阅读
- speech-recognition - MS Speech Platform 11 识别器是否支持 ARPA 编译语法?
- javascript - How to save every element in foreach and not just last element?
- android - How to specify API Key in this sample code?
- postgresql - Create Postgres Pivot like excel
- windows - Pyro4 configuration doesn't change
- c# - 反序列化 HTTP 响应 - 获取空值
- mysql - Mysql:通过两个日期获取最新行
- ios - iPhone 上的两个 Ionic 应用程序似乎相互打开
- mysql - MYSQL查询与选择具有不同的限制条件
- r - 相同的种子,PL/R 与 R,不同的结果(随机森林)