您好,这是我的Telegram机器人代码,我有一个按名称填充的列表。 机器人将用户名添加到列表中并作为列表进行回复 我想用单独的行回复每个名字
list = []
txt = str(list)
def msg_filter(bot , update):
wordsp = ["man"," miam"]
wordsn = ['nemiam','nistam','na']
if len(list) <=15:
if any (i in update.message.text for i in wordsp):
if "{}".format(update.message.from_user.first_name) not in list:
list.append("{}".format(update.message.from_user.first_name))
bot.send_message(chat_id = update.message.chat_id , text = "{}".format(list))
我在输出中有这个内容:['username1','username2','username3']
但希望如此:
[username
usernam2
username3]
答案 0 :(得分:2)
您可以使用:
print('\n'.join(list))
# please do not name your list "list", list is a build-in function !!!
答案 1 :(得分:1)
text =“ [{}]”。format(“ \ n” .join(lst))
答案 2 :(得分:1)
如果要输出以换行符分隔的列表,则可以使用#join并将换行符(\n
)用作列表条目的分隔符。
例如:
bot.send_message(chat_id = update.message.chat_id , text = "\n".join(list))
它将输出:
username1
username2
username3
如果您还明确希望同时输出[
和]
,则可以使用format添加它们:
text = "[\n{}\n]".format("\n".join(list))
bot.send_message(chat_id = update.message.chat_id , text = text)
答案 3 :(得分:1)
如果您需要确切的结果而不带引号:
[username1
usernam2
username3]
尝试这个简单的解决方案:
print(f'[{list_[0]}')
for l in list_[1:-2]:
print(l)
print(f'{list_[-1]}]')
其中list_ = ['username1','username2','username3']