【问题标题】:Convert a 1D list to 2D at every "\n" - Python在每个“\ n”处将一维列表转换为二维 - Python
【发布时间】:2016-09-22 07:18:21
【问题描述】:

只要其中有\n,我就会尝试将一维列表转换为二维。

a = ['a', 'b', '\n', 'c', 'd']

a = [['a', 'b']['c', 'd']]

谁能帮帮我?

编辑

这是因为我有一个字符串

a = """\
f:         1000:000 000 000 000 000 000 000 000 000 000 000 000 f:         2000:000 000 000 000 000 000 000 000 000 000 000 000
f:         0000:000 000 000 000 000 000 000 000 000 000 000 000 f:         0000:000 000 000 000 000 000 000 000 000 000 000 000
f:         0000:000 000 000 000 000 000 000 666 000 000 000 000 f:         0000:000 000 000 000 000 000 000 000 000 000 000 000
f:         0000:000 000 000 000 000 333 000 000 000 000 000 000 f:         0000:000 000 000 000 000 000 000 000 000 000 000 000
"""

因此,当我通过 list(a) 将其转换为列表时,在每个换行符处我都会得到 \n,所以我只想将它拆分到那里。

【问题讨论】:

标签: python string list


【解决方案1】:

最简单的方法是加入列表来制作字符串。然后将其拆分为 '\n' 并将列表中的每个字符串转换为子列表:

>>> a_string = ''.join(a)
>>> map(list, a_string.split())
[['a', 'b'], ['c', 'd']]

但是,如果您不想采用这种方法,下面是基于for 循环的简单逻辑:

>>> my_list = []
>>> sub_list = []
>>> for item in a:
...     if item != '\n':
...         sub_list.append(item)
...     else:
...         my_list.append(sub_list)
...         sub_list = []
...
>>> my_list.append(sub_list)
>>> my_list
[['a', 'b'], ['c', 'd']]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-29
    • 1970-01-01
    • 2023-03-10
    • 2021-12-18
    • 2017-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多