考慮犀牛5節下面這條巨蟒列表解析代碼:是python列表可以理解的內部for循環嗎?
for j in range(1,3):
globals()["objlist" + str(j)] = [rs.OrientObject(obj, [rs.PointCoordinates(x) for x in objlist[1:4]], [rs.PointCoordinates(x) for x in objlist[1+ j*3:4+ j*3]], 1) for obj in objlist]
爲很多你不知道我打電話這裏rhinoscriptsyntax命令:
rs.OrientObject and rs.PointCoordinates
我希望你能閱讀其餘語法,因爲問題出現在列表理解中,而不是在rhinoscriptsyntax中。
什麼,我沒有去工作,是第二個「J」的列表分片裏面的代碼:
objlist[1+ j*3:4+ j*3]
我只得到這樣的結果對於j = 1而不是J = 2雖然我使用循環範圍內的aj(1,3)
是'對於範圍(1,3)''在這種情況下根本不工作,它是否只適用於左側'='我在'objlist + str(j)'中使用它,或者它不應該用於列表理解,我應該找到一種用列表理解重寫所有內容的方法?
p.s.即使我用字典解決了globals()問題,我仍然需要j以便在每次迭代時在不同範圍上分割列表。
這段代碼對我來說很合適。您的問題不在列表解析中。您可以嘗試本地化問題,並提供我們可以實際測試的代碼,而不是依賴您的話。 – wRAR 2013-02-15 00:10:16
如果您有與列表理解問題,拉出來的較大的表達,並分別測試他們每個人,找出哪一個是不工作,然後弄清楚如何給我們一個[SSCCE(HTTP:// sscce.org)顯示相同的問題,所以我們可以幫助您解決它。 – abarnert 2013-02-15 00:40:26