2012-02-08 58 views
32

剛開始想出Python。我讀過這個問題,其答覆:Python中的大括號?

Is it true that I can't use curly braces in Python?

,我仍然無法捉摸如何括號工作的捲髮,特別是因爲像簡單的程序頁面:

http://wiki.python.org/moin/SimplePrograms

使用大括號到處都是。我理解方括號和常規彎曲括號,但我不知道「定義字典」或它們應該代表什麼意思。

+15

'from __future__ import braces' – robert 2012-02-08 16:28:08

+2

你應該真的經歷[教程](http://docs.python.org/py3k/tutorial/)。 – 2012-02-08 16:33:05

回答

62

「花括號」在Python中用於定義字典。字典是一種將一個值映射到另一個值的數據結構 - 就像英語詞典如何將單詞映射到其定義一樣。

的Python:

dict = { 
    "a" : "Apple", 
    "b" : "Banana", 
} 

它們也可用來格式化字符串,而不是使用%舊的C風格,如:

ds = ['a', 'b', 'c', 'd'] 
x = ['has_{} 1'.format(d) for d in ds] 

print x 

['has_a 1', 'has_b 1', 'has_c 1', 'has_d 1'] 

它們不是用來表示代碼塊,因爲它們是在許多「類似C」的語言。

C:

if (condition) { 
    // do this 
} 
4

Python中的字典是存儲鍵值對的數據結構。你可以像關聯數組一樣使用它們。當聲明字典時使用大括號:

d = {'One': 1, 'Two' : 2, 'Three' : 3 } 
print d['Two'] # prints "2" 

大括號不用於表示Python中的控制級別。相反,Python爲此使用縮進。

我覺得你真的需要一些很好的資源來學習Python。請參閱https://stackoverflow.com/q/175001/10077

+0

我一直在努力通過學習Python艱難的方式(這顯然有點爭議),並已達到我應該下載,打印和只讀代碼的章節。我繼續跑過我不知道的事情,當我看到它們時,大括號是我無法將頭包裹起來的唯一事情......因此,這個問題。 – JeanSibelius 2012-02-08 16:46:55

+0

@mattshepherd:也許它不辜負它的名字。 8v)儘管如此,[Python教程](http://docs.python.org/py3k/tutorial/)(如Michael J. Barber鏈接)非常好。你可以試試看。 – 2012-02-08 17:22:20

0

字典是類似的東西通過真實密鑰訪問(例如字符串,...),而不是隻是簡單的順序編號的數組。它包含鍵/值對,您可以使用鍵來查找值,例如使用電話簿:key = name,number = value。

爲了定義這樣一個字典,使用該語法使用大括號,也參見:http://wiki.python.org/moin/SimplePrograms

8

在像C大括號({})語言用於創建在流量控制中使用的程序段。在Python中,花括號用於定義稱爲字典(鍵/值映射)的數據結構,而空格縮進則用於定義程序塊。

14

在Python中,花括號用於定義字典。

a={'one':1, 'two':2, 'three':3} 
a['one']=1 
a['three']=3 

在其他語言中,{}用作流控制的一部分。但是Python使用縮進作爲其流控制,因爲它專注於可讀代碼。

for entry in entries: 
    code.... 

當談到大括號時,Python中有一個小復活節彩蛋。嘗試在Python Shell上運行並享受。

from __future__ import braces