Python 从链接列表中删除尾部/尾部链接

Python 从链接列表中删除尾部/尾部链接,python,python-3.x,trailing-slash,trailing,Python,Python 3.x,Trailing Slash,Trailing,我有一个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: lin

我有一个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

运行这些代码后,我将打印(url\u列表),但没有任何更改。

您的first for循环几乎可以工作,尽管它会将新形成的url附加到现有url,而不是替换

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

代码 输出
您的first for循环几乎可以工作,尽管它将新形成的URL附加到现有URL,而不是替换

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

代码 输出
你能显示
url\u列表吗?您当前的第一种方法(虽然不是最优的)应该可以工作,但它会将现有列表添加到新的列表中,您是想附加到新的列表中吗?它是一个相当长的列表,因此在这里列出是不可行的。奇怪的是,我创建了一个具有相同内容的新列表,并再次运行了原始代码,它似乎起到了作用。最重要的是,我希望在将更改写入csvCan时保持不变,您可以显示
url\u列表
?您当前的第一种方法(虽然不是最优的)应该可以工作,但它会将现有列表添加到新的列表中,您是想附加到新的列表中吗?它是一个相当长的列表,因此在这里列出是不可行的。奇怪的是,我创建了一个具有相同内容的新列表,并再次运行了原始代码,它似乎起到了作用。主要的是,当我将更改写入csv
url\u列表时,我希望它保持不变。append(link[:-1])
虽然有效(但当然不会创建新的列表)。请注意,这也适用于不以
“/”结尾的url。不过,我可能会用
map
来代替理解。@OlivierMelançon是的!我只是补充说明,因为你的例子只显示了真正的积极因素。根据我对这个问题的理解,我相信你的代码能够满足OP的要求。回答得好。@erip说得好,实际上,我会添加一个没有尾随的url/
os.path。normpath
可能是一个(有问题的)备选方案
url\u列表。append(link[:-1])
虽然有效(但当然不会创建新的列表)。请注意,这也适用于不以
“/”结尾的url。不过,我可能会用
map
来代替理解。@OlivierMelançon是的!我只是补充说明,因为你的例子只显示了真正的积极因素。根据我对这个问题的理解,我相信你的代码能够满足OP的要求。回答得好。@erip说得好,实际上,我将添加一个没有尾随的url/
os.path。normpath
将是一个可能的(有问题的)替代方案
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']