[问题] 关于资料格式的取用[]和()

楼主: max533 (向阳花)   2016-05-20 22:21:38
a = [[1997L,3L],[2001L,4L]]
b = array([[1997L,3L],[2001L,4L]])
这边想取用让 c = [1997L,2001L]
在取用b的情况下,我只要b[:,0] = c,
但在取用a的情况下,无法如此得到c,
想请问在不用循环的情况下,有办法得到c吗?
还有list和np.array的差异?
想厘清这边观念下的差异。
作者: IKAFIRE (没有)   2016-05-20 22:43:00
c, _=zip(*a)但这方法略丑
作者: mikapauli (桜花)   2016-05-20 23:42:00
list(map(list.__getitem__, a, [0]*len(a)))
作者: SocketAM2 (AM2)   2016-05-21 00:20:00
楼上的作法好像不用加list,另也可以用lambda
作者: mikapauli (桜花)   2016-05-21 00:48:00
第一个list是让python2和3的结果一样
作者: SocketAM2 (AM2)   2016-05-21 00:53:00
喔喔喔 受教了 (没用3真不知道)
作者: yjc1 (.来而色月踏我.)   2016-05-21 02:01:00
c=[t[0] for t in a] , 但这其实也是 loop
作者: IKAFIRE (没有)   2016-05-21 02:41:00
list comprehension的可读性高很多

Links booklink

Contact Us: admin [ a t ] ucptt.com