如何将有格式的字符串转化成嵌套的list

时间:2022-03-19 10:25:58
 

初学python,现在有一个任务将下面的字符串转成 [ [ [],[],[],[] ], [ [],[],[],[] ], [], [ [],[] ] ] 这种格式
str = 
00001230 Msg
11031023 ..sdf
21313001 ....dsfsf
31313134 ....fdsfdf
42344140 ....sffdfs
53131414 ......dsfsfsfgg
63145555 ......sfdsfsfsd
71312315 ....313146
83523534 ......1sfdsdgg
92424253......1sfsdfg
10314535 ....sfdsdf
11314232 ....sfsrtrtfd
12456353 ..ssdf
13452342 ....sfsfsf
14353534 ....sfsfhghaf
15542434 ......dfdhdfsrt
16243145 ......sytxchr
17473434 ....etuyatrtuy
18476143 ....46dghsf

strlists = str.split('\n')
for a in strlists
  ..
  ..不知道该如何操作了
  ..

有高人指点下吗 ?

12 个解决方案

#1


每多两个.  就属于子节点, 只有一个根节点, 就是那个没有.的 MSG
转化为list,他们说做树形图方便点。

#2


没看懂你字符串格式,是前面的数字不要?根据空格的多少格式化?

#3


前面的数字都不管,只提取..后面数据 根据..的多少  表示他和上一层的关系

#4


引用 2 楼 waistcoat23 的回复:
没看懂你字符串格式,是前面的数字不要?根据空格的多少格式化?


前面的数字都不管,只提取..后面数据 根据..的多少 表示他和上一层的关系

#5


你确定是list而不是dict么

比如

msg
..a
..b

怎么用list表示这个msg父节点?

如果是 {'msg':{'a':None, 'b':None}}还好说

#6


引用 5 楼 pamtry 的回复:
你确定是list而不是dict么

比如

msg
..a
..b

怎么用list表示这个msg父节点?

如果是 {'msg':{'a':None, 'b':None}}还好说


a = [h,b,x]
b = [l,e,w]
msg = [a,b]
list = [msg] 这样不知道对不  我自己也不太懂 要求转为list

#7


你自己也不太懂。。这个让人怎么写

就算是list = [msg],这个msg也是字符串,从字符串再命名一个list?虽然不是完全不可以,但是我不觉得有什么需求需要这样的东西

你先弄清楚到底需求是什么

引用 6 楼 aizaidongzhi 的回复:
引用 5 楼 pamtry 的回复:
你确定是list而不是dict么

比如

msg
..a
..b

怎么用list表示这个msg父节点?

如果是 {'msg':{'a':None, 'b':None}}还好说


a = [h,b,x]
b = [l,e,w]
msg = [a,b]
list = [msg] 这样不知道对不  我自己也不太懂 要求转为……

#8


这个好复杂啊

#9


[Quote=引用 7 楼 pamtry 的回复:]
你自己也不太懂。。这个让人怎么写

就算是list = [msg],这个msg也是字符串,从字符串再命名一个list?虽然不是完全不可以,但是我不觉得有什么需求需要这样的东西

你先弄清楚到底需求是什么


a = [h,b,x]
b = [l,e,w]
msg = [a,b]

说转list的 我开始也不知道能实现不,可能就是按你说的,再用字符串表示一下它吧
像这样的吧 [msg,[a,[h,b,x],b,[l,e,w]]]

#10


别浪费时间解决一个连问题都说不清楚的人的问题了。

#11


引用 10 楼 iambic 的回复:
别浪费时间解决一个连问题都说不清楚的人的问题了。


好吧 高玩
新手惭愧,开始给说转成list,我也不懂,只能自己想,我也是想法实现啊,您有想法可以提啊,只要能实现都行。   我又没说必须什么格式,只要能转成层次分明的List就行。  唉

#12


如何将有格式的字符串转化成嵌套的list

#1


每多两个.  就属于子节点, 只有一个根节点, 就是那个没有.的 MSG
转化为list,他们说做树形图方便点。

#2


没看懂你字符串格式,是前面的数字不要?根据空格的多少格式化?

#3


前面的数字都不管,只提取..后面数据 根据..的多少  表示他和上一层的关系

#4


引用 2 楼 waistcoat23 的回复:
没看懂你字符串格式,是前面的数字不要?根据空格的多少格式化?


前面的数字都不管,只提取..后面数据 根据..的多少 表示他和上一层的关系

#5


你确定是list而不是dict么

比如

msg
..a
..b

怎么用list表示这个msg父节点?

如果是 {'msg':{'a':None, 'b':None}}还好说

#6


引用 5 楼 pamtry 的回复:
你确定是list而不是dict么

比如

msg
..a
..b

怎么用list表示这个msg父节点?

如果是 {'msg':{'a':None, 'b':None}}还好说


a = [h,b,x]
b = [l,e,w]
msg = [a,b]
list = [msg] 这样不知道对不  我自己也不太懂 要求转为list

#7


你自己也不太懂。。这个让人怎么写

就算是list = [msg],这个msg也是字符串,从字符串再命名一个list?虽然不是完全不可以,但是我不觉得有什么需求需要这样的东西

你先弄清楚到底需求是什么

引用 6 楼 aizaidongzhi 的回复:
引用 5 楼 pamtry 的回复:
你确定是list而不是dict么

比如

msg
..a
..b

怎么用list表示这个msg父节点?

如果是 {'msg':{'a':None, 'b':None}}还好说


a = [h,b,x]
b = [l,e,w]
msg = [a,b]
list = [msg] 这样不知道对不  我自己也不太懂 要求转为……

#8


这个好复杂啊

#9


[Quote=引用 7 楼 pamtry 的回复:]
你自己也不太懂。。这个让人怎么写

就算是list = [msg],这个msg也是字符串,从字符串再命名一个list?虽然不是完全不可以,但是我不觉得有什么需求需要这样的东西

你先弄清楚到底需求是什么


a = [h,b,x]
b = [l,e,w]
msg = [a,b]

说转list的 我开始也不知道能实现不,可能就是按你说的,再用字符串表示一下它吧
像这样的吧 [msg,[a,[h,b,x],b,[l,e,w]]]

#10


别浪费时间解决一个连问题都说不清楚的人的问题了。

#11


引用 10 楼 iambic 的回复:
别浪费时间解决一个连问题都说不清楚的人的问题了。


好吧 高玩
新手惭愧,开始给说转成list,我也不懂,只能自己想,我也是想法实现啊,您有想法可以提啊,只要能实现都行。   我又没说必须什么格式,只要能转成层次分明的List就行。  唉

#12


如何将有格式的字符串转化成嵌套的list