【问题标题】:Python .reverse() and .extend()Python .reverse() 和 .extend()
【发布时间】:2020-05-22 19:44:42
【问题描述】:

我是 Python 的初学者。我尝试从 1~5 创建一个列表,然后打印出反向列表并像[1,2,3,4,5,5,4,3,2,1] 一样组合它们,这是我的工作。

num1 = list(range(1,6))
num2 = num1.reverse()
print(num1)
print(num2)
print(num1.extend(num2))

num1 的输出是反向的[5,4,3,2,1]。 num2 的输出是 None 并且扩展功能不起作用。 .reverse().extend() 究竟是如何工作的?

【问题讨论】:

标签: python reverse extend mirror


【解决方案1】:

list.reverse() 不返回任何内容;它将num1 突变为相反的。

list.extend() 接收另一个列表,并将该列表中的所有元素添加到您正在调用的列表中。由于list.reverse() 不返回任何内容,num2 变为None。因此,您正在使用 none 扩展 num2,这不会导致对 num1 进行任何更改。

有关某些列表方法的说明,请参阅here

【讨论】:

    【解决方案2】:
    list.reverse()
    

    原地反转 - 因此您的原始列表被反转。而且,reverse() 方法返回 None

    因此,您的 num1 被反转 & num2None

    同样,extend 也会修改参数列表并返回None

    要完成这项工作:

    num1 = list(range(1,6))
    num2 = num1[::-1]
    print(num1)
    print(num2)
    num1.extend(num2)
    print(num1)
    

    给予:

    [1, 2, 3, 4, 5]
    [5, 4, 3, 2, 1]
    [1, 2, 3, 4, 5, 5, 4, 3, 2, 1]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-13
      • 1970-01-01
      • 2013-10-25
      • 2012-04-15
      • 2020-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多