首页 > 解决方案 > 将元组列表打印为字符串

问题描述

我有一个元组列表

[
 ('User: ', '<@268326653795500044>, ', 1), 
 ('User: ', '<@381118832963616779>, ', 3), 
 ('User: ', '<@510489897790996492>, ', 1)
]

这就是我创建元组列表的方式

curs.execute('SELECT userID, strike FROM user WHERE strike != 0')
records = curs.fetchall()

rows = []

for row in records:
  string = 'User: ', f'<@{row[0]}>, ', row[1]
  rows.append(string)
print(rows)

我想打印为字符串: String: User: <@268326653795500044>, 1

标签: pythontuplesstring-concatenation

解决方案


它只是一个元组列表,因为这是您通过使用,而不是+连接创建的:

curs.execute('SELECT userID, strike FROM user WHERE strike != 0')
records = curs.fetchall()
    
rows = []
    
for row in records:
   string = 'User: ' +  f'<@{row[0]}>, ' + row[1] # now we have a string instead of a tuple
   rows.append(string)
    
print(rows)

正如评论指出的那样,您正在使用 f 字符串,那么为什么不一直这样做:

string = f'User: <@{row[0]}>, {row[1]}' # now we have a 

推荐阅读