Python中如何使用列表元素替换字符串批量生成新链接
问题根因
str.replace()方法的第二个参数必须传入字符串类型的替换值,你当前的代码直接把整个列表推导式生成的姓名列表作为替换参数传入,Python会直接把整个列表的字符串表示塞到替换位置,最终只会得到一个类似www.['Sarah', 'Thomas', 'Howard', 'Lisa'].com的错误字符串,完全无法实现逐元素替换生成多链接的需求。
正确实现
逐一生成链接的核心逻辑是遍历姓名列表的每一个元素,对单个名单独执行替换,把所有替换结果收集为新的链接列表即可,参考代码如下:
# 基础链接模板 link = 'www.hello.com' # 从CSV提取到的姓名列表 name = ['Sarah', 'Thomas', 'Howard', 'Lisa'] # 遍历每个姓名,逐个替换生成对应链接 new_link = [link.replace('hello', single_name) for single_name in name]
如果要实现你给出的逐行打印效果,遍历生成好的链接列表输出即可:
for item in new_link: print(item)
运行后输出完全匹配预期:
www.Sarah.com www.Thomas.com www.Howard.com www.Lisa.com
补充说明:你最开始提取姓名时写的[(x) for x in column_1]中包裹x的圆括号是冗余写法,直接写[x for x in column_1]运行效果完全一致。
内容的提问来源于stack exchange,提问作者ducttape101
相关产品推荐
相关产品推荐

