Maison  >  Questions et réponses  >  le corps du texte

python for循环问题,很困扰

a=['one','two']
for p,q in a:
    print p,q

出错

a=[['one','tow']]
for p,q in a:
    print p,q

这样就可以
第一种我一直就认为是这样的:a的one,two分别赋值给p,q。
不然得怎么理解?

黄舟黄舟2741 Il y a quelques jours501

répondre à tous(2)je répondrai

  • PHPz

    PHPz2017-04-18 10:33:51

    En Python, une boucle for parcourt chaque élément d'une liste (ou d'un générateur). La forme correcte de la première boucle est donc :

    for x in a:
        print(x)

    De plus, en Python on peut écrire :

    x, y = (1, 2)

    À partir de maintenant, x vaut 1 et y vaut 2. On peut aussi écrire :

    x, y = [1, 2]

    A le même effet.
    Si on écrit : x, y = 1 il y aura une erreur, sauf exactement la même erreur dans l'une de vos boucles for.

    Dans le deuxième exemple f, la liste [['one', 'two']] n'a qu'un seul élément, qui est ['one', 'two']. La boucle for doit être exécutée une fois, et cette fois p, q est ['one', 'two'], similaire à l'exemple ci-dessus

    .

    répondre
    0
  • 黄舟

    黄舟2017-04-18 10:33:51

    Dans le premier exemple, a a deux éléments, à savoir 'one' et 'two'. L'affectation est incertaine sur p et q
    Dans le deuxième exemple, a a un élément ['one','two. '], l'ordre est déterminé.

    p, q = [x, y] //可行
    p, q = x, y//不确定
    

    répondre
    0
  • Annulerrépondre