如果我有一个嵌套的html(无序)列表,看起来像这样:
<ul>
<li><a href="Page1_Level1.html">Page1_Level1</a>
<ul>
<li><a href="Page1_Level2.html">Page1_Level2</a>
<ul>
<li><a href="Page1_Level3.html">Page1_Level3</a></li>
</ul>
<ul>
<li><a href="Page2_Level3.html">Page2_Level3</a></li>
</ul>
<ul>
<li><a href="Page3_Level3.html">Page3_Level3</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="Page2_Level1.html">Page2_Level1</a>
<ul>
<li><a href="Page2_Level2.html">Page2_Level2</a></li>
</ul>
</li>
</ul>
如何在Python中形成嵌套列表?例如:
["Page1_Level1.html", ["Page1_Level2.html", ["Page1_Leve3.html", "Page2_Level3.html", "Page3_Level3.html"]], "Page2_Level1.html", ["Page2_Level2.html"]]
我认为像 Beautiful Soup 和 HTML Parser 这样的库都具有执行此操作的功能,但是我无法弄清楚。感谢您的帮助/指示!
您可以采用递归方法:
from pprint import pprint
from bs4 import BeautifulSoup
text = """your html goes here"""
def find_li(element):
return [{li.a['href']: find_li(li)}
for ul in element('ul', recursive=False)
for li in ul('li', recursive=False)]
soup = BeautifulSoup(text, 'html.parser')
data = find_li(soup)
pprint(data)
印刷品:
[{u'Page1_Level1.html': [{u'Page1_Level2.html': [{u'Page1_Level3.html': []},
{u'Page2_Level3.html': []},
{u'Page3_Level3.html': []}]}]},
{u'Page2_Level1.html': [{u'Page2_Level2.html': []}]}]
仅供参考,这就是为什么我必须在html.parser
这里使用的原因:
问题内容: 我该如何打开一个列表,例如: 进入列表列表,例如: 即我想将有序元素分组在列表中,并将其保留在有序列表中。我怎样才能做到这一点? 谢谢 问题答案: 假设data_list的长度是三的倍数
本文向大家介绍Python-将嵌套字典列表转换为Pandas Dataframe,包括了Python-将嵌套字典列表转换为Pandas Dataframe的使用技巧和注意事项,需要的朋友参考一下 python很多时候会从各种来源接收数据,这些数据可以采用不同的格式,例如csv,JSON等,可以转换为python列表或字典等。但是要使用诸如pandas之类的包应用计算或分析,我们需要将此数据转换为一
问题内容: 我有一个嵌套列表,如何将其转换为字典 字典应阅读以下内容 我试图将其更改为Pandas DataFrame并将其转换为字典。但是我正在寻找从列表到字典的直接转换 将感谢您的帮助。在Python 3中期待答案 问题答案: 一种方法是使用,它依次遍历每个列表的第 i 个元素: 按照@Jean-FrançoisFabre的建议,通过打开包,可确保您的值是列表。 结果 另一种方法是使用:
问题内容: 我正在尝试将嵌套列表列表转换为Python 3.3中的元组列表。但是,似乎我没有这样做的逻辑。 输入如下所示: 所需的输出应如下所示: 问题答案: 只需使用列表理解即可: 演示:
我在Firebase中有以下数据: 在Flutter中,我有以下两个对象: 我正在尝试将Firebase中的集合嵌套贴图转换为Flatter中的列表,但遇到了问题。在Flatter中将具有贴图字段的贴图对象转换为列表的最佳方法是什么? 我知道我在处理map对象时遇到了问题,根据我的方法,我收到了不同的错误,但通常类似于以下情况之一: 错误1:“键入“\u InternalLinkedHashMap
我正在制作一个程序,将图片转换成灰度形式,然后从灰度形式转换成公平格式。 我正在使用嵌套的for-loops来转换嵌套列表。这工作得很好,但我希望使用流来实现,如果使用流,输出会发生变化,但我认为应该得到相同的输出。我错在哪? grayPhoto是 你们有没有看到我做错了什么或者小溪应该是怎样的?
问题内容: 我正在尝试将嵌套列表转换为2d数组。 我想把它做成一个。我尝试了以下方法: 有没有可行的方法?请注意,直到运行时我才知道列表的大小,并且列表可能会锯齿。 问题答案: 没有简单的内置方法可以执行所需的操作,因为您只能返回存储在list中的元素数组,在您的情况下也可以是list。 最简单的解决方案是创建二维数组,并用每个嵌套列表的结果填充它。 (如果您像使用Alex一样将Java8与流一起
问题内容: 我有一个字符串格式的列表嵌套列表,如下所示: 我想将所有嵌套列表中的所有元素都转换为整数,在这种情况下,可以在循环内使用map函数: 问题是我有很多这样的列表,它们具有多层嵌套,例如: 有没有不使用循环即可解决此问题的通用方法? 问题答案: 递归可以很好地解决您的问题。 el in lists]