avatar
q*g
1
【 以下文字转载自 Linux 讨论区 】
发信人: qiuxing (球星), 信区: Linux
标 题: Python小问题
发信站: BBS 未名空间站 (Wed Nov 1 15:05:43 2006), 转信
想要实现这么一个东西,大家参谋一下怎么弄最省事:
col0 col1 ...
row0 a00 a01 ...
row1 a10 all ...
.....
就是说带名字的矩阵。要做到可以通过行或者列的名字取出行,列。
要是能够自己带一个排序的method就更好了。
基本的思路是用dictionary套dictionary,但是我想到的方案都比较笨 :-<
又或者有现成的module?
avatar
q*1
2
可以用类似macro的东西,不知道Python里怎么做,在Perl里
use constant col0_name => 0;
use constant col1_name => 1;
.......
或 use ReadOnly modules来定义常数.然后就可以用名字代替
indices了,呵呵

【在 q*****g 的大作中提到】
: 【 以下文字转载自 Linux 讨论区 】
: 发信人: qiuxing (球星), 信区: Linux
: 标 题: Python小问题
: 发信站: BBS 未名空间站 (Wed Nov 1 15:05:43 2006), 转信
: 想要实现这么一个东西,大家参谋一下怎么弄最省事:
: col0 col1 ...
: row0 a00 a01 ...
: row1 a10 all ...
: .....
: 就是说带名字的矩阵。要做到可以通过行或者列的名字取出行,列。

avatar
d*H
3
How about list comprehension?,
assume you know the number of COL and ROW, all data elements are stored in x
as a list
def row(i):
return [x[j] for j in range(i*COL, (i+1)*COL) ]
def col(i):
return [x[j] for j in [a+j for a in range(0, ROW)]]

【在 q*****g 的大作中提到】
: 【 以下文字转载自 Linux 讨论区 】
: 发信人: qiuxing (球星), 信区: Linux
: 标 题: Python小问题
: 发信站: BBS 未名空间站 (Wed Nov 1 15:05:43 2006), 转信
: 想要实现这么一个东西,大家参谋一下怎么弄最省事:
: col0 col1 ...
: row0 a00 a01 ...
: row1 a10 all ...
: .....
: 就是说带名字的矩阵。要做到可以通过行或者列的名字取出行,列。

avatar
r*t
4
numpy supports named axis since around end of 2006.
Or if you need persistence, also see PyTables.
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。