逗号中的逗号含义如下:a,b = b,a?

时间:2014-11-09 03:56:33

标签: python

我想知道第5行中逗号的含义

def insertion_sort(items):
    for i in range(1, len(items)):
        j = i
        while j > 0 and items[j] < items[j-1]:
            items[j], items[j-1] = items[j-1], items[j]
            j -= 1

4 个答案:

答案 0 :(得分:1)

表示交换items[j]items[j-1]

答案 1 :(得分:1)

右侧的逗号生成元组(b, a)。左边的那个使用序列解包来获取等号右边的序列元素,并将它们一个接一个地绑定到左边的名称。因此,整体操作是交换绑定到ab的对象。

more info

答案 2 :(得分:0)

就像这样,

>>> a, b = 2, 10
>>> temp = a
>>> a = b
>>> b = temp
>>> a
10
>>> b
2

在你的情况下,

items[j], items[j-1] = items[j-1], items[j]

它的处理方式如下: -

 temp = items[j]
 item[j] = items[j-1j
 items[j-1] = temp

答案 3 :(得分:0)

用于指定值items[j]=items[j-1]items[j-1] = items[j] 在一行中你可以像items[j], items[j-1] = items[j-1], items[j]一样写 在此处交换项目的值swap

示例:

          >>> a,b=10,20
          >>> a
          10
          >>> b
          20
         >>> a,b
         (10, 20)