首页 > 解决方案 > 并排合并两个列表

问题描述

我正在尝试将使用 beautifulSoup 抓取的一些数据复制到两个列表中,替换一个列表上的字符“-”,然后并排加入两个列表。

原始数据(链接)如下所示:

['example-of-link1','example-of-link2','example-of-link3','example-of-link4','example-of-link5']

所需的输出

example-of-link1 Example Of Link 1
example-of-link2 Example Of Link 2
example-of-link3 Example Of Link 3
example-of-link4 Example Of Link 4
example-of-link5 Example Of Link 5

我的代码:

link4 = "\n".join(link)
link5 = link4.replace('-', ' ')
link5 = link5.title()


link6 = "\n".join("{} {}".format(x, y) for x, y in zip(link4, link5))

print(link6)

然而,这是当前的输出:

eE
xx
aa
mm
pp
ll
ee
-
oO
ff
-
lL
ii
nn
kk
11

标签: pythonpython-3.xbeautifulsoup

解决方案


尝试这个:

items = [
    'example-of-link1', 'example-of-link2', 'example-of-link3',
    'example-of-link4', 'example-of-link5',
]

print(
    "\n".join(
        f"{item} {' '.join(item.split('-')).title()[:-1]} {idx}"
        for idx, item in enumerate(items, start=1)
    )
)

输出:

example-of-link1 Example Of Link 1
example-of-link2 Example Of Link 2
example-of-link3 Example Of Link 3
example-of-link4 Example Of Link 4
example-of-link5 Example Of Link 5

编辑:根据您的评论,试试这个:

print(
    "\n".join(
        f"<www.foo.com/{item}|{' '.join(item.split('-')).title()[:-1]} {idx}>"
        for idx, item in enumerate(items, start=1)
    )
)

输出:

<www.foo.com/example-of-link1|Example Of Link 1>
<www.foo.com/example-of-link2|Example Of Link 2>
<www.foo.com/example-of-link3|Example Of Link 3>
<www.foo.com/example-of-link4|Example Of Link 4>
<www.foo.com/example-of-link5|Example Of Link 5>

推荐阅读