Python 计算嵌套列表中未分隔的列表数

Python 计算嵌套列表中未分隔的列表数,python,list,nested,counting,Python,List,Nested,Counting,所以我有一个巨大的列表,里面嵌套了很多列表,我想计算一下这个巨大的外部列表中的列表数量。问题在于,这些列表之间没有任何分隔,它们看起来如下所示: [[list1][list2][list3][list4]] 请帮忙 假设您的数据是一个字符串,因为它不可能是一个列表,如果列表没有嵌套得更深,并且不包含包含][的字符串,您可以尝试以下操作: x = '[[list1][list2][list3][list4]]' print (len (x.split ('][') ) ) >>>

所以我有一个巨大的列表,里面嵌套了很多列表,我想计算一下这个巨大的外部列表中的列表数量。问题在于,这些列表之间没有任何分隔,它们看起来如下所示:

[[list1][list2][list3][list4]]

请帮忙

假设您的数据是一个字符串,因为它不可能是一个列表,如果列表没有嵌套得更深,并且不包含包含
][
的字符串,您可以尝试以下操作:

x = '[[list1][list2][list3][list4]]'
print (len (x.split ('][') ) )
>>> 4

根据评论,您的列表看起来像

nested = ['[a][b][c][d]']
(因此
len(nested)=1
,而
类型(nested_list[0])
是一个
str

要计算“列表”的数量,您可以执行以下操作:

len(nested[0].split(']['))

根据您的描述,以下是我的假设:

  • 您拥有的是一个看起来几乎像列表的字符串
  • 此“伪列表”中的每个项目都是另一个“伪列表”
  • “伪列表”可以嵌套到任何级别
  • 你要计算这些“伪列表”
以下是我的想法:

  • 我把第一个列表称为一级列表
  • 我们想知道有多少二级名单
代码:

输出:

List length: 4
此代码适用于任意嵌套的列表,例如:

li = '[[1][2][3][4[a][b][c][d]]]'

我尝试了len,它给了我1。因为子列表没有用逗号分隔\n或\r,Python认为整个外部列表中只有一个子列表。你有字符串吗?我不认为它是列表。什么是
类型(嵌套列表[0])
?类型(嵌套列表)这是一个str!oops,很抱歉帖子上的错误!我得到的错误是AttributeError:“list”对象没有属性“split”+1,因为我有一个比我更好的水晶球或窥镜。你是如何猜到实际输入的?我如何用一个特定值的嵌套列表对这个巨大的外部列表进行排序并将它们分组?使用itertools
li = '[[1][2][3][4[a][b][c][d]]]'