首页 > 解决方案 > 从链接列表中删除尾随 /

问题描述

我有一个 URL 列表,我正在尝试从列表中的所有 URL 中删除尾随的“/”。我已经尝试了所有这些变体,没有错误消息,但没有删除 /:

for link in url_list:
   if link.endswith('/'):
      url_list.append(link[:-1])

for link in url_list:
    if link.endswith('/'):
       link = link[:-1]

for link in url_list:
    link = link[:-1] if link.endswith('/') else link

运行这些代码后,我print(url_list)没有任何改变。

标签: pythonpython-3.xtrailing-slashtrailing

解决方案


您的第一个 for-loop 几乎可以工作,尽管它会将新形成的 url 附加到您现有的 url 而不是替换。

更好的方法是创建一个具有列表理解的新列表并str.rstrip用于删除尾随/.

代码

url_list = ['googoo.com/foo/', 'wikipidoo.org/bar/', 'stachoverflaw.com/baz']

stripped_urls = [url.rstrip('/') for url in url_list]

print(stripped_urls)

输出

['googoo.com/foo', 'wikipidoo.org/bar', 'stachoverflaw.com/baz']

推荐阅读