作者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/m.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