gpt4 book ai didi

python - 如何连接字符串 for ... in ...? (Python)

转载 作者:太空宇宙 更新时间:2023-11-04 07:10:20 24 4
gpt4 key购买 nike

我是一个c coder,但是python不一样,我遇到了一个问题

items = [
["/ank/homepage.py","Home"],
["/ank/package.py","Packages"],
["/status.py","Status"],
["/task.py","Task"],
["/report.py","Report"]
]

static_html='<table id="main_nav" align="center"><tr>'

for each_item in items:
if each_item in items:
if isinstance(each_item, list):
static_html= static_html + '<td><a href=" ', each_item[0], ' "> ', each_item[1], ' </a></th> '

static_html+='</tr></table>'

print static_html

然后,IDE 向我发送错误/usr/bin/python2.7

/home/tsuibin/code/aps/dxx/test_tmp.py
Traceback (most recent call last):
File "/home/tsuibin/code/aps/dxx/test_tmp.py", line 39, in <module>
printMainNavigation()
File "/home/tsuibin/code/aps/dxx/test_tmp.py", line 20, in printMainNavigation
static_html= static_html + '<td><a href=" ', each_item[0], ' "> ', each_item[1], ' </a></th> '
TypeError: can only concatenate tuple (not "str") to tuple
Process finished with exit code 1

最佳答案

您在字符串连接中放置了逗号:

static_html=  static_html + '<td><a href=" ', each_item[0], ' "> ', each_item[1], ' </a></th> '

因此 Python 将这些元素视为一个元组 (str0 + (str1, str2, str3))。使用 + 代替:

static_html=  static_html + '<td><a href=" ' + each_item[0] + ' "> ' + each_item[1] + ' </a></th> '

更好的是,使用字符串格式:

static_html += '<td><a href="{0[0]}"> {0[1]} </a></th> '.format(each_item)

在 python 中连接一系列字符串时,使用 list() 作为中介实际上会更快。构建列表,然后使用 ''.join() 获取输出:

static_html = ['<table id="main_nav" align="center"><tr>']
for each_item in items:
static_html.append('<td><a href="{0[0]}"> {0[1]} </a></th> '.format(each_item))

static_html.append('</tr></table>')
static_html = ''.join(static_html)

请注意,您根本不需要测试 items 中的每个项目,您只是已经从循环中的列表中获取了项目。这只是额外的工作,不会做任何事情。

关于python - 如何连接字符串 for ... in ...? (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14152874/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com