web-dev-qa-db-fra.com

Quelle est la signification des accolades?

Je commence juste à comprendre Python. J'ai lu cette question et ses réponses: 

Est-il vrai que je ne peux pas utiliser d'accolades en Python?

et je ne comprends toujours pas comment fonctionnent les accolades, notamment depuis les pages telles que Programmes simples:

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

utilisez des accolades partout. Je comprends les crochets et les parenthèses courbes, mais je ne sais pas ce que signifie "définir des dictionnaires" ni ce qu’ils sont censés représenter.

37
JeanSibelius

Les "accolades" sont utilisés en Python pour définir un dictionnaire. Un dictionnaire est une structure de données qui mappe une valeur à une autre, un peu comme si un dictionnaire anglais mappait un mot à sa définition.

Python:

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

Ils sont également utilisés pour formater des chaînes, au lieu de l'ancien style C utilisant%, comme:

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']

Ils ne sont pas utilisés pour désigner des blocs de code comme ils le sont dans de nombreux langages "similaires à C".

C:

if (condition) {
    // do this
}
69
Brenton Alker

En Python, les accolades définissent un dictionnaire.

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

Dans d'autres langues, {} sont utilisés dans le cadre du contrôle de flux. Python a toutefois utilisé l'indentation comme contrôle de flux en raison de son intérêt pour le code lisible.

for entry in entries:
     code....

Il y a un petit œuf de Pâques en python en matière d'accolades. Essayez d’exécuter ceci sur le shell Python et profitez-en.

from __future__ import braces
15
chrtan

Dans des langages tels que C, des accolades ({}) sont utilisées pour créer des blocs de programme utilisés dans le contrôle de flux. En Python, les accolades définissent une structure de données appelée dictionnaire (mappage clé/valeur), tandis que l’indentation d’espace est utilisée pour définir des blocs de programme.

8
Ethan Furman

Les dictionnaires en Python sont des structures de données qui stockent des paires clé-valeur. Vous pouvez les utiliser comme des tableaux associatifs. Les accolades sont utilisées lors de la déclaration de dictionnaires:

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

Les accolades ne sont pas utilisées pour indiquer les niveaux de contrôle en Python. Au lieu de cela, Python utilise l'indentation à cette fin.

Je pense que vous avez vraiment besoin de bonnes ressources pour apprendre Python en général. Voir https://stackoverflow.com/q/175001/10077

5
Fred Larson

Un dictionnaire est quelque chose comme un tableau auquel on accède par des clés (par exemple, des chaînes de caractères, ...) plutôt que par de simples nombres séquentiels. Il contient des paires clé/valeur. Vous pouvez rechercher des valeurs à l'aide d'une clé, comme un annuaire téléphonique: clé = nom, numéro = valeur.

Pour définir un tel dictionnaire, vous utilisez cette syntaxe entre accolades, voir aussi: http://wiki.python.org/moin/SimplePrograms

0
user1034081