57

刚开始弄清楚Python。我已经阅读了这个问题及其回复:

我不能在 Python 中使用花括号是真的吗?

而且我仍然无法理解花括号是如何工作的,特别是因为像简单程序这样的页面:

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

到处使用花括号。我理解方括号和规则的弯括号,但我不知道“定义字典”是什么意思或它们应该代表什么。

4

5 回答 5

97

“花括号”在 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
}

更新:除了 Python 的dict数据类型(从 Python 2.7 开始)之外,Python 也设置了,它也使用花括号并声明如下:

my_set = {1, 2, 3, 4}
于 2012-02-08T16:32:46.373 回答
23

在 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
于 2012-02-08T17:39:34.597 回答
9

在像C花括号 ( {}) 这样的语言中,用于创建流程控制中使用的程序块。在 Python 中,大括号用于定义称为字典(键/值映射)的数据结构,而空格缩进用于定义程序块。

于 2012-02-08T16:33:37.823 回答
5

Python 中的字典是存储键值对的数据结构。您可以像关联数组一样使用它们。声明字典时使用花括号:

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

花括号不用于表示 Python 中的控制级别。相反,Python 为此目的使用缩进。

我认为你确实需要一些好的资源来学习 Python。见https://stackoverflow.com/q/175001/10077

于 2012-02-08T16:32:19.003 回答
0

字典就像一个数组,可以通过键(例如字符串,...)访问,而不仅仅是简单的序列号。它包含键/值对,您可以像使用电话簿一样使用键查找值:键=名称,数字=值。

要定义这样的字典,您可以使用大括号使用此语法,另请参阅:http ://wiki.python.org/moin/SimplePrograms

于 2012-02-08T16:33:17.063 回答