2 回答

TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個(gè)贊
如果我稍微分解一下那行代碼,我可以告訴你會(huì)發(fā)生什么。
下一行是一個(gè)列表理解,它說返回IwhereI被設(shè)置為列表 [2,4,6] 中的每個(gè)數(shù)字。這將返回一個(gè)看起來像 的列表[2,4,6]。所以這基本上是無用的,因?yàn)槟銢]有操縱你的原始列表。
[I for I in [2,4,6]]
當(dāng)你把它放在里面時(shí),np.array()它只會(huì)從你的列表中創(chuàng)建一個(gè)數(shù)組。
現(xiàn)在使用以下代碼,您將遍歷 2-5 范圍內(nèi)的每個(gè)數(shù)字,不包括 5(5 是 I+3)
for i in range(2,5):
print(i)
2
3
4
你也可以這樣做
for i in range(2,5):
print(np.array([range(2,4)]))
[[2 3]]
[[2 3]]
[[2 3]]
這是一個(gè)執(zhí)行 3 次的循環(huán),并打印一個(gè)包含 2-4 范圍的數(shù)組。
當(dāng)你把所有東西結(jié)合起來
[range(I, I+3) for I in [2,4,6]]
您是說列表中的每個(gè)數(shù)字[2,4,6]返回從該數(shù)字到該數(shù)字 + 3 的范圍并將其放入列表中,該列表返回
[range(2, 5), range(4, 7), range(6, 9)]
然后將其轉(zhuǎn)換為數(shù)組以獲取
array([[2, 3, 4],
[4, 5, 6],
[6, 7, 8]])

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊
np.array( # This is a numpy library's 2D data structure array.
[
range(i, i+3) # range function which produces iterator from i to i+2 (exclusive of end) i.e. if i = 1, range(1, 4) will give [1, 2, 3]
for i in [2,4,6] # Basic list comprehension for loop
]
)
添加回答
舉報(bào)