如何在Python中将字符串数组拆分为二维字符数组

4

我有一个字符串数组,例如:

a = ['123', '456', '789']

我希望将其拆分为一个二维字符数组:

b = [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]

我正在使用的是:

[[element for element in line] for line in array]

我想实现我的目标,但发现阅读起来并不容易,是否有任何内置的函数或者更易读的方法来达成这个目标?

5个回答

10

看起来需要使用map函数:

>>> a = ['123', '456', '789']
>>> map(list, a)
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]

相关文档:


4
你可以这样做:
first_list = ['123', '456', '789']
other_weirder_list = [list(line) for line in first_list]

您的解决方案并不差,但您可以尝试像arashajii提出的那样使用map或者类似的方法。


3

map(list, array)应该可以解决问题。


1
你可以使用 map:
>>> a
['123', '456', '789']
>>> map(list, a)
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]

虽然我真的不明白为什么你需要这样做(除非你计划编辑字符串中的一个特定字符?)。字符串的行为类似于列表。


0

首先我尝试了e.split(''),但是报错:ValueError: empty separator

请尝试这个:

a = ['123', '456', '789']
b = [list(e) for e in a]
b
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接