在stackoverflow上有一些类似的问题,但没有一个完全符合我的要求,我的各种尝试似乎都失败了.
我有一个url列表,有些有斜杠,有些没有...我想检查它们并为那些没有的东西添加斜杠.
url_list = ['http://google.com/somedirectory/', 'http://google.com/someotherdirectory/', 'http://google.com/anotherdirectory', 'http://google.com/yetanotherdirectory']
for url in url_list:
if url[len(url)-1] != "/":
url = url + "/"
else:
url = url
print url_list
Run Code Online (Sandbox Code Playgroud)
返回相同的列表(最后两个网址仍然没有尾部斜杠)
['http://google.com/somedirectory/', 'http://google.com/someotherdirectory/', 'http://google.com/anotherdirectory', 'http://google.com/yetanotherdirectory']
Run Code Online (Sandbox Code Playgroud)
为什么不工作?有任何想法吗?
谢谢 :)
您的更改不起作用的原因是,当您说url = url + "/"这不会url在列表中就地编辑时.如果你想这样做,你可能会更好地使用enumerate:
for i, url in enumerate(url_list):
if url[len(url)-1] != "/":
url_list[i] = url + "/"
print url_list
Run Code Online (Sandbox Code Playgroud)
我们可以通过改为url[len(url)-1]to来进一步改变url[-1],这是指最后一个字符.
但是,虽然我们在这里,为什么不使用.endswith()和列表理解?
url_list = [u if u.endswith('/') else u + '/' for u in url_list]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1719 次 |
| 最近记录: |