首頁  >  問答  >  主體

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 天前502

全部回覆(2)我來回復

  • PHPz

    PHPz2017-04-18 10:33:51

    在Python中,for循環運行列表(或生成器)中的每個元素。 所以第一個循環的正確形式是:

    for x in a:
        print(x)

    此外,Python裡我們能寫:

    x, y = (1, 2)

    以後x是1,y是2。我們也能寫:

    x, y = [1, 2]

    具有相同的效果。
    如果我們寫:x, y = 1就出了錯誤,在你的一個for循環裡除了一摸一樣的錯誤。

    在第二個f例子裡列表[['one', 'two']]只有个元素,就是['one', 'two']。for循环要跑一次,这一次p, q就是['one', 'two'],類似於上面的例子.

    回覆
    0
  • 黄舟

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

    第一個例子裡a有兩個元素, 分別是'one','two'. 賦值在p,q上是不確定的,
    第二個例子裡a有一個元素['one','two '],順序確定。

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

    回覆
    0
  • 取消回覆