作者max533 (向阳花)
看板Python
标题[问题] 关於资料格式的取用[]和()
时间Fri May 20 22:21:38 2016
a = [[1997L,3L],[2001L,4L]]
b = array([[1997L,3L],[2001L,4L]])
这边想取用让 c = [1997L,2001L]
在取用b的情况下,我只要b[:,0] = c,
但在取用a的情况下,无法如此得到c,
想请问在不用回圈的情况下,有办法得到c吗?
还有list和np.array的差异?
想厘清这边观念下的差异。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.116.24.35
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1463754100.A.8B8.html
1F:推 IKAFIRE: c, _=zip(*a) 05/20 22:43
2F:→ IKAFIRE: 但这方法略丑 05/20 22:44
3F:→ mikapauli: list(map(list.__getitem__, a, [0]*len(a))) 05/20 23:42
4F:→ SocketAM2: 楼上的作法好像不用加list,另也可以用lambda 05/21 00:20
5F:→ mikapauli: 第一个list是让python2和3的结果一样 05/21 00:48
6F:→ SocketAM2: 喔喔喔 受教了 (没用3真不知道) 05/21 00:53
7F:→ yjc1: c=[t[0] for t in a] , 但这其实也是 loop 05/21 02:01
8F:推 IKAFIRE: list comprehension的可读性高很多 05/21 02:41