Python 3-单个语句中的多个赋值

时间:2017-12-06 05:31:12

标签: python-3.x

为什么以下代码会产生结果? LHS和RHS结构不同,这就是结果..

  
    
      

[[W,X],[[Y],Z]] = [{10,20},[(30),40]]

             

瓦特

    
  

10

  
    
      

X

    
  

20

  
    
      

ý

    
  

30

  
    
      

ž

    
  

40

1 个答案:

答案 0 :(得分:1)

实际上不能保证wx将始终产生相同的结果,这取决于您的Python解释器。尝试将其切换为:

>>> [[w,x],[[y],z]]=[{20,10},[(30,),40]]
>>> w
10

那是因为第一个条目'是set并且不保证订购套装。其余的将按预期工作,因为元组和列表是有序的。只要存在奇偶校验,双方的实际类型并不重要,即(x, y) = [p, q][x, y] = (p, q)的工作方式相同。