gpt4 book ai didi

python - 使用嵌套 if 语句使 Python for 循环更高效

转载 作者:行者123 更新时间:2023-11-28 18:10:50 26 4
gpt4 key购买 nike

我有一个包含 1,000 个 URL 和公司名称的数据框,我需要将它们转换为 HTML 链接并进行一些格式化。我写了一个可以在列表中向下移动并创建标签的函数:

def linkcreate():
if row['url'] == '####' or row['url'] == '#####':
print('<span style="color: #293789!important; margin-bottom:0;">' + row['name'] + '</span>')
else:
print('<a href="' + row['url'] + '" target="_blank">' + row['name'] + '</a>')

if 语句 正在做一些清理工作,因为有几十家公司没有 url。这些在 df 中表示为“####”和“#####”。对于这些,我添加了一个 span 标签 而不是 a 标签,并添加了一些看起来像链接的样式。 else 语句只是根据 df 中的两列构建链接。

我想做的另一件事是将一半链接放在 .下面是我的代码和解释:

# Calculates the middle point from the total count of rows in df
count = (int(data['url'].count()))/2
# Set counter to 0
counter = 0

for index, row in data.iterrows():
counter = counter + 1
# Before the first <a> tag start the first section <div>
if counter == 1:
print('<div class="side-1">')
# If counter is less then or equals to the half point of rows in df build the links using the linkcreate()
elif counter <= count:
linkcreate()
# If counter is +1 from the half way point of rows add the closing </div> and start the second <div>
elif counter == count + 1:
print('</div>')
print(' ')
print('<div class="side-2">')
# If counter is greater then the half point of rows in df build the rest of the links using the linkcreate()
elif counter > count:
linkcreate()
# Closing </div> tag for the second set of links.
print('</div>')

此代码有效,但它是执行此操作的最有效方法吗?

最佳答案

为了更快,您可以先创建一个包含链接的列:

def linkcreate(row):
if '####' in row['url']: # will catch both '####' and '#####'
return '<span style="color: #293789!important; margin-bottom:0;">' + row['name'] + '</span>'
else:
return '<a href="' + row['url'] + '" target="_blank">' + row['name'] + '</a>'
df['link'] = df.apply(linkcreate,axis=1)

然后你的打印如你所说这不是你关心的:

print('<div class="side-1">')
print(df['link'][:count+1].to_string(header=None, index=False))
print('</div>')
print(' ')
print('<div class="side-2">')
print(df['link'][count+1:].to_string(header=None, index=False))
print('</div>')

你在没有循环的情况下打印了一半的列链接

关于python - 使用嵌套 if 语句使 Python for 循环更高效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50841659/

26 4 0
文章推荐: css - 我的居中布局不会延伸到页面底部 - HTML/CSS
文章推荐: javascript - GIPHY API - 如何搜索 Gif?
文章推荐: html - 带有 id 符号的 Scrollspy
文章推荐: javascript - 如何使用
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com