gpt4 book ai didi

python - 如何将字符串插入字符串列表的每个标记?

转载 作者:太空狗 更新时间:2023-10-30 02:02:40 24 4
gpt4 key购买 nike

假设我有以下列表:

l = ['the quick fox', 'the', 'the quick']

我想将列表中的每个元素转换成一个 url,如下所示:

['<a href="http://url.com/the">the</a>', '<a href="http://url.com/quick">quick</a>','<a href="http://url.com/fox">fox</a>', '<a href="http://url.com/the">the</a>','<a href="http://url.com/the">the</a>', '<a href="http://url.com/quick">quick</a>']

到目前为止,我尝试了以下方法:

list_words = ['<a href="http://url.com/{}">{}</a>'.format(a, a) for a in x[0].split(' ')]

问题是上面的列表理解只是对列表的第一个元素进行工作:

['<a href="http://url.com/the">the</a>',
'<a href="http://url.com/quick">quick</a>',
'<a href="http://url.com/fox">fox</a>']

我也尝试过使用 map 但是,它没有用:

[map('<a href="http://url.com/{}">{}</a>'.format(a,a),x) for a in x[0].split(', ')]

知道如何从句子列表的标记创建此类链接吗?

最佳答案

你很接近,你将你的理解限制在 x[0].split 的内容上,即你错过了一个 for 循环遍历 的元素我:

list_words = ['<a href="http://url.com/{}">{}</a>'.format(a,a) for x in l for a in x.split()]

这是有效的,因为 "string".split() 产生一个单元素列表。

如果您在理解之外定义格式字符串并使用位置索引 {0} 通知 format,这看起来会更漂亮参数(所以你不需要做 format(a, a)):

fs = '<a href="http://url.com/{0}">{0}</a>'
list_words = [fs.format(a) for x in l for a in x.split()]

使用 map 如果你愿意,你也可以得到一只丑小鸭:

list(map(fs.format, sum(map(str.split, l),[])))

这里我们用sum(it, []) 来压平列表mapsplit 产生然后映射fs .format 到相应的扁平列表。结果是一样的:

['<a href="http://url.com/the">the</a>',
'<a href="http://url.com/quick">quick</a>',
'<a href="http://url.com/fox">fox</a>',
'<a href="http://url.com/the">the</a>',
'<a href="http://url.com/the">the</a>',
'<a href="http://url.com/quick">quick</a>']

理解,显然

关于python - 如何将字符串插入字符串列表的每个标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39755171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com