我有一个字符串数组,例如:
a = ['123', '456', '789']
我想拆分它以形成一个二维char数组:
b = [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]
我正在使用
[[element for element in line] for line in array]
实现我的目标,但发现它不容易阅读,是否有任何内置函数或任何可读方式来做到这一点?
答案 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']]