python 三位数组 如何读取一列

liuxialong 2011-07-25 05:41:31
我想在三位数组中读取出特定的column,形成一个一维数组。使用list实现,如何读取?

例如:
list = [[['a','b','c'],['d','f','g']],[['h','i','j'],['k','l','m']]]

list是一个三围数组

我要求读出'b' 'f' 'i' 'l'
用下标操作符如何实现?

用list[:][:][1]可以吗?
...全文
4936 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kesunhit 2013-05-09
  • 打赏
  • 举报
回复
zip(*l)[1]
notax 2011-07-27
  • 打赏
  • 举报
回复

>>> l = [[['a','b','c'],['d','f','g']],[['h','i','j'],['k','l','m']]]
>>> [i[1] for i in reduce(lambda x, y: x.extend(y) or x, l)]
['b', 'f', 'i', 'l']

notax 2011-07-27
  • 打赏
  • 举报
回复



>>> import itertools
>>> l = [[['a','b','c'],['d','f','g']],[['h','i','j'],['k','l','m']]]
>>> [i[1] for i in itertools.chain(*l)]
['b', 'f', 'i', 'l']

notax 2011-07-27
  • 打赏
  • 举报
回复

>>> l = [[['a','b','c'],['d','f','g']],[['h','i','j'],['k','l','m']]]
>>> sum(sum(l,[]),[])[1::3]
['b', 'f', 'i', 'l']
>>>
>>>
>>> l = [[['a','b','c'],['d','f','g']],[['h','i','j'],['k','l','m']]]
>>> l = reduce(lambda x, y: x+y, l)
>>> reduce(lambda x, y: x+y, l)[1::3]
['b', 'f', 'i', 'l']
>>>


liuxialong 2011-07-26
  • 打赏
  • 举报
回复
不可以直接用 m[:][:][1]吗?

[Quote=引用 2 楼 i_nbfa 的回复:]
Python code

mylist = [[['a','b','c'],['d','f','g']],[['h','i','j'],['k','l','m']]];
res = [mylist[i][j][1] for i in range(len(mylist)) for j in range(len(mylist[i]))];
print(res);
[/Quote]
I_NBFA 2011-07-25
  • 打赏
  • 举报
回复

mylist = [[['a','b','c'],['d','f','g']],[['h','i','j'],['k','l','m']]];
res = [mylist[i][j][1] for i in range(len(mylist)) for j in range(len(mylist[i]))];
print(res);

hndcwynui 2011-07-25
  • 打赏
  • 举报
回复
>>> lst
[[['a', 'b', 'c'], ['d', 'f', 'g']], [['h', 'i', 'j'], ['k', 'l', 'm']]]
>>> lst[:][0][0][1]
'b'
>>> lst[:][0][1][1]
'f'
>>> lst[:][1][0][1]
'i'
>>> lst[:][1][1][1]
'l'

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧