gpt4 book ai didi

python - 按第一个元素值对数组进行分组 Python

转载 作者:行者123 更新时间:2023-12-01 01:25:21 25 4
gpt4 key购买 nike

我有一个数组 arr = [title, fileurl] 所以当我打印 arr 时,它会像这样:

['name1', 'url1']
['name1', 'url2']
['name1', 'url3']
['name2', 'url1']
['name2', 'url2']
['name3', 'url1']

我想按第一个元素对这些数组进行分组,这意味着我想要:

['name1', 'url1', 'url2', 'url3']
['name2', 'url1', 'url2']
['name3', 'url1']

我的代码:

for final in posterlink:
pagesourcec = requests.get(final)
soupc = BeautifulSoup(pagesourcec.text, "html.parser")
strc = soupc.findAll("iframe", attrs={"id": "myframe"})
title = soupb.find("li",{"class": "breadcrumb-item active"}).get_text()
for embedlink in strc:
fff = embedlink.get('data-src')
arr = [title, fff]
print arr

最佳答案

你可以这样做:

from collections import defaultdict as ddict

group = ddict(list)

for name, url in arr:
group[name].append(url)

如果您绝对希望将其作为列表的列表,则可以按照以下步骤进行操作:

group = [[name, *urls] for name, urls in group.items()]

编辑:重要的是要注意上面的行适用于 python 3,无论如何你都应该使用它。但是,为了完整起见,如果您使用的是 python 2.7,请使用:

group = [[name] + urls for name, urls in group.items()]

关于python - 按第一个元素值对数组进行分组 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53411002/

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