|
|
|
|
 请教一下split()是如何用的. - happyhappy [ 2005-06-21 15:33 | 276 byte(s)]
 Re: 请教一下split()是如何用的. - limodou [ 2005-06-21 21:40 | 584 byte(s)]
 Re: 请教一下split()是如何用的. - QiaoJiannan [ 2005-06-21 18:21 | 431 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
ls= [x.split()[0:3:2] for x in file('spr.dat')]
我在论坛里请教过从4读列数据中度第一和第三列的问题,回答我是用上边语句,读是读出来了,但是我不明白split()[0:3:2] 里的[0:3:2]代表什么意思,再读其他列数据时不知怎么改,真不好意思,总问这种肤浅的问题,可我的确找不到啊1,麻烦大家了!
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
我也是个初学者,这么简单的问题让我来回答你好了.
首先,建议你看一下Python的文档.我用的是Windows版的,通过索引查list,你可以看到list对象的用法功能。
[a:b:c] 从List对象取一段数,组成新的list。从第a列开始,到第b列,每隔c列取一次。 所以你要取任意一列是不行的,它只能取相同间隔的列,如果是任意列的话,建议使用
a=range(10)
print [ a[x] for x in [3,6,9]]
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
ls= [x.split()[0:3:2] for x in file('spr.dat')]
我在论坛里请教过从4读列数据中度第一和第三列的问题,回答我是用上边语句,读是读出来了,但是我不明白split()[0:3:2] 里的[0:3:2]代表什么意思,再读其他列数据时不知怎么改,
上面的代码是从一个数据文件中取出所有的第一和第三列,从而忽略掉了其它的列。split()是按空白进行拆分。而[0:3:2]是列表的用法与split()无关。放在一起是因为x.split()返回的正好是一个list,因此可以对它进行分片操作。[0:3:2]第3个参数表示步长,就是隔多少个取一个。如果想取出全部数据,直接:
ls=[x.split() for x in file('spr.dat')]
|
|
|
----
|
|
[Original]
[Print]
[Top]
|
|
|