免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4392 | 回复: 11
打印 上一主题 下一主题

从 A*B*C 的 list 中提取一层 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-22 23:01 |只看该作者 |倒序浏览
怎样从A*B*C  的 list 中提取一层数据呢?用 list[:][:][2] 好像不能提取第三层的东西……请大侠指教啊~

论坛徽章:
0
2 [报告]
发表于 2008-09-23 02:07 |只看该作者
不知道提取一层数据指的是什么……
list[:]是list表的一个复制,list[:][:]又复制了一遍,因此list[:][:][2]等同于list[2]。

论坛徽章:
0
3 [报告]
发表于 2008-09-23 02:41 |只看该作者
原帖由 jjj137 于 2008-9-23 02:07 发表
不知道提取一层数据指的是什么……
list[:]是list表的一个复制,list[:][:]又复制了一遍,因此list[:][:][2]等同于list[2]。

哦……原来是这样……

我想要提取出一个 A*B 的list,它的元素是原来的list[x][y][2]……除了循环以外有没有什么 pythonic 的方法?

论坛徽章:
0
4 [报告]
发表于 2008-09-23 13:29 |只看该作者
能贴出具体的源代码么?实在无法理解你的A*B……
如果是这样:a=[[1,2,3],[3,4,5]],想要取[1,2,3]只需要a[0]就可以了。

论坛徽章:
0
5 [报告]
发表于 2008-09-23 13:45 |只看该作者
过来学习一下

论坛徽章:
0
6 [报告]
发表于 2008-09-23 16:35 |只看该作者
如果是
a=[
[[111,112,113,114],[121,122,123,124],[131,132,133,134]],
[[211,212,213,214],[221,222,223,124],[231,232,233,234]],
[[311,312,313,314],[321,322,323,324],[331,332,333,334]],]
这看成是 3×3×4 的矩阵,想取其中的第三层,输出这样:
out = [
[113,123,133],
[213,223,233],
[313,323,333]]
,3×3 的矩阵。

怎么简单的实现?

[ 本帖最后由 grissiom 于 2008-9-23 16:36 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2008-09-23 18:28 |只看该作者
……用matlab吧……

论坛徽章:
0
8 [报告]
发表于 2008-09-23 20:32 |只看该作者
原帖由 jjj137 于 2008-9-23 18:28 发表
……用matlab吧……


嗯,我最早的代码就是明显的matlab风格……可是想用python啊……

论坛徽章:
0
9 [报告]
发表于 2008-09-23 23:26 |只看该作者
matlab 第一次听说,受教了。

论坛徽章:
0
10 [报告]
发表于 2008-09-24 17:01 |只看该作者
不知这个满足不

[[a[n][0][2],a[n][1][2],a[n][2][2]] for n in (0,1,2) ]

[a[n1][n2][3] for n1 in (0,1,2) for n2 in (0,1,2)]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP