如何编辑列表中的 strings/urls?
How can I edit strings/urls within a list?
我已经抓取并创建了一个 URL 的列表,我正在尝试替换列表中每个 url 的一部分。
每个 URL 都包含我要删除的部分“/season/1288”。 'productions' 是我的 url 列表,这是我使用的代码:
prod_lists = [str.replace('/season/1288', '') for i in productions]
print(prod_lists)
它returns错误
TypeError: replace expected at least 2 arguments, got 1
要在您的代码中使用 list comprehension
创建列表,您应该使用变量 i,而不是 str
。
productions = [
'/season/1288/aaa',
'/season/1288/bbb',
'/season/1288/ccc',
]
prod_lists = [i.replace('/season/1288', '') for i in productions]
print(prod_lists)
这将打印:
['/aaa', '/bbb', '/ccc']
您收到错误消息的原因是您使用 str
class 而不是 str
实例调用了 replace
函数。它自动将 str
实例作为第一个参数传递,称为 self
但是,在此代码中 replace
找不到要作为第一个参数传递的 str 实例,因为 str
是一个 class,不是实例。
有趣的是,如果您 运行 以下代码显式传递 str
实例“/season/1288/ccc”,您可以看到结果被 1 替换而没有错误消息。
productions = ['/season/1288/aaa']
prod_lists = [str.replace('/season/1288/ccc', '/season/1288', '1') for i in productions]
print(prod_lists) # This prints: ['1/aaa']
我已经抓取并创建了一个 URL 的列表,我正在尝试替换列表中每个 url 的一部分。
每个 URL 都包含我要删除的部分“/season/1288”。 'productions' 是我的 url 列表,这是我使用的代码:
prod_lists = [str.replace('/season/1288', '') for i in productions]
print(prod_lists)
它returns错误
TypeError: replace expected at least 2 arguments, got 1
要在您的代码中使用 list comprehension
创建列表,您应该使用变量 i,而不是 str
。
productions = [
'/season/1288/aaa',
'/season/1288/bbb',
'/season/1288/ccc',
]
prod_lists = [i.replace('/season/1288', '') for i in productions]
print(prod_lists)
这将打印:
['/aaa', '/bbb', '/ccc']
您收到错误消息的原因是您使用 str
class 而不是 str
实例调用了 replace
函数。它自动将 str
实例作为第一个参数传递,称为 self
但是,在此代码中 replace
找不到要作为第一个参数传递的 str 实例,因为 str
是一个 class,不是实例。
有趣的是,如果您 运行 以下代码显式传递 str
实例“/season/1288/ccc”,您可以看到结果被 1 替换而没有错误消息。
productions = ['/season/1288/aaa']
prod_lists = [str.replace('/season/1288/ccc', '/season/1288', '1') for i in productions]
print(prod_lists) # This prints: ['1/aaa']