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

时间:2012-12-11 03:05:16

标签: python arrays

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

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

我想拆分它以形成一个二维char数组:

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

我正在使用

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

实现我的目标,但发现它不容易阅读,是否有任何内置函数或任何可读方式来做到这一点?

5 个答案:

答案 0 :(得分:10)

看起来像map的作业:

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

相关文档:

答案 1 :(得分:4)

你可以做点什么:

first_list = ['123', '456', '789']
other_weirder_list = [list(line) for line in first_list]

你的解决方案并不是那么糟糕,但你可能会做这样的事情或arashajii的map建议。

答案 2 :(得分:3)

map(list, array)应该这样做。

答案 3 :(得分:1)

您可以使用map

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

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

答案 4 :(得分: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']]