2017-01-23 60 views
3

Python需要縮進。那麼,如何初始化嵌套的複雜嵌套對象?在Python中的許多行中初始化複雜的嵌套列表?

我應該寫他們在一個長行

rewards = [[-0.04, -0.04, -0.04, -0.04], [-0.04, 0, -0.04, -0.04], [-0.04, -0.04, -0.04,-0.04]] 

或者,我可以以某種方式將它們包裝?

UPDATE

我的問題是不是打破排長隊,這顯然是寫在文檔中,但約在定義複雜的嵌套結構,如列表的字典的名單列表的情況下,打破大排長龍。我無法相信我們應該在這裏使用line continutaion語法。

更新1

不,這不是重複。

+0

inline?你的意思是在一個python交互式shell中? 。 –

+1

在括號內,包括'[',''{和'(',你可以使用任何格式你想 – thebjorn

+1

的[可能的複製是否有可能打破在Python中長線多行(HTTP:// stackoverflow.com/questions/4172448/is-it-possible-to-break-a-long-line-to-multiple-lines-in-python) –

回答

3

在括號內真實提到,包括[{ ,和(,你可以使用任何你想要的格式。

9

的一種方法是使用:

rewards = [ 
    [-0.04, -0.04, -0.04, -0.04], 
    [-0.04, 0, -0.04, -0.04], 
    [-0.04, -0.04, -0.04,-0.04] 
] 

注意,用於分離元件的列表中的任何空白是多餘的,因爲詞法分析器將刪除它;所以這僅僅是一個可讀性的問題,根據每個人的口味。

你可以把它寫在一行,但是,與長嵌套列表這樣做時,你會很容易打到80字符的限制,我個人沒有找到表現的讀者友好。

+0

很抱歉,您是絕對正確的,但我接受@ theborn的答案,因爲他對我的解釋非pythonian是什麼,我錯過了 – Dims

+1

@Dims沒有後顧之憂:) –

0

,你可以換任何線在Python與尾部的反斜槓:

rewards = [[-0.04, -0.04, -0.04, -0.04], \ 
[-0.04, 0, -0.04, -0.04], [-0.04, -0.04, -0.04,-0.04]] 

不過這不是真正這裏所需要的,因爲它在以前的答案

+5

這是你不需要的地方(真的不應該)使用續行字符。 – thebjorn

+0

我們並不需要它,但它更是一個位可與之 –

+1

沒有,這真不是:-)你可以刪除它,而不影響語義 - 如果你希望它更具可讀性,你應該做的@mu做並提供適當的語義格式;-) – thebjorn