Python:For循环连接

2024-10-05 13:23:10 发布

您现在位置:Python中文网/ 问答频道 /正文

cat = "["
for row in res:
    cat = cat  + (str((row['weeks'])) + ',')

cat = (cat + "]").replace(',]', ']')

上面的代码位给出的结果字符串如下:

[30,31,32,33,34,35,36,37,38,39,40]

但是我想要的是:

[W30,W31,W32,W33,W34,W35,W36,W37,W38,W39,W40]

我没有成功地连接每个数字前面的W。我怎么能这么做? 这是我尝试的失败代码:

cat = cat  + (str('W'+ (row['weeks'])) + ',')

Tags: 字符串代码inforresreplacecatrow
3条回答

这将提供所需的字符串:

cat = '[{}]'.format(','.join('W{}'.format(i) for i in row['weeks']))
#                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#                            this gives 'W30', 'W31', etc.
#                   ^^^^^^^^^
#                   this joins them with commas: 'W30,W31,...,W40'
#     ^^^^^^^^^^^^^^
#     this puts [ ] around

代码:

cat = '[W' + ',W'.join(str(element) for element in row['weeks']) + ']'

你已经做到了

cat = cat  + (str('W'+ (row['weeks'])) + ',')

应该是的

cat = cat  + ('W'+ str(row['weeks']) + ',')

如果你想列个单子,你可以这样做

cat = ["W"+str(row['weeks']) for row in res]

相关问题 更多 >

    热门问题