看板 Python 關於我們 聯絡資訊
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://www.ptt.cc/bbs/Python/M.1463754100.A.8B8.html
IKAFIRE: c, _=zip(*a) 05/20 22:43
IKAFIRE: 但這方法略醜 05/20 22:44
mikapauli: list(map(list.__getitem__, a, [0]*len(a))) 05/20 23:42
SocketAM2: 樓上的作法好像不用加list,另也可以用lambda 05/21 00:20
mikapauli: 第一個list是讓python2和3的結果一樣 05/21 00:48
SocketAM2: 喔喔喔 受教了 (沒用3真不知道) 05/21 00:53
yjc1: c=[t[0] for t in a] , 但這其實也是 loop 05/21 02:01
IKAFIRE: list comprehension的可讀性高很多 05/21 02:41