python - 如何对列表中的各个条目使用 split

标签 python list url

所以我有一个 URL 的 Python 列表(在下面的代码片段中称为 lst)。

/this/is/the/first/url/file.zip
/this/is/the/second/url/file.zip
...

我想创建另一个仅包含每个网址的/file.zip 部分的列表。到目前为止我有这个:

lst2 = []
for i in lst:
    lst2.append(i[0].split('/')][-1])

它会按预期返回/file.zip 部分。但我的问题是如何对整个列表执行此操作?

最佳答案

假设lst = [url1, url2, ...],您当前的代码非常接近最佳工作状态。

代码的最后一行lst2.append(i[0].split('/')][-1])是问题所在。

通过调用i[0],您实际上获得了i字符串的第一个字符(因为i派生自内部的字符串) lst),然后根据/进行拆分,这样不行。那么 split 之后的单独 ] 就会出现错误。

因此,要修复此代码,您需要执行以下操作。

lst2 = []
for i in lst:
    lst2.append(i.split('/')[-1])

然后,打印 lst2 将给出

['file.zip', 'file1.zip', ...]

这是您想要的输出。

<小时/>

解释一下,i in lst 正在获取 lst 列表中的每个项目,这些项目是字符串。然后,在循环内部,字符串 i 根据其中的 / 进行拆分,从而生成另一个数组。但您想要该字符串的最后部分,即数组中的最后一项,可以使用 [-1] 访问它。

关于python - 如何对列表中的各个条目使用 split,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40385609/

相关文章:

ruby-on-rails - 如何将灵活数量的 id 传递给 Rails 中的 Controller ?

python - 将目录添加到 python 路径,但是当我尝试导入时 python 给出错误

python - 如何在 TensorFlow 中添加正则化?

android - 在 Android 中下载文件

javascript - 如果提取的 TXT 不包含某个单词,我如何告诉 imacros 转到某个 url?

python - 在 python 中循环更新列表而不使用append 函数。

python - 从字典键的子集创建命名元组

python - 将文本文件的行拆分为元组 Python 的一部分

jquery - 选择div内的所有Li

java - 从文件读取到列表