【问题标题】:How does python random.shuffle change the variablepython random.shuffle如何改变变量
【发布时间】:2019-06-04 15:34:04
【问题描述】:

Python 的 random.shuffle() 函数如何在不设置变量的情况下更改变量?

例如,如果我这样做了

def shuffle(array):
    shuffled = ... # Some code to shuffle array
    return shuffled

我做到了

array = shuffle(array)

这很有道理,但是随机库怎么不需要这一步呢? python中没有办法指向一个变量,那么它是如何设置变量的呢

shuffle(array)

没有将array明确设置为shuffle(array)的返回值

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    来自documentation

    random.shuffle(x[, random]) 将序列 x 打乱

    他们这里的关键是“in place”,这意味着它改变了原始数组。所以不需要显式返回。

    【讨论】:

      【解决方案2】:

      传入函数参数的数组是引用,所以不需要返回值。

      def change_arr(some_array):
          some_array[1] = "World"
      
      arr = ['Hello', 'Hello']
      print(arr)
      change_arr(arr)
      print(arr)
      

      输出:

      ['Hello', 'Hello']
      ['Hello', 'World']
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-09-26
        • 1970-01-01
        • 2021-08-30
        • 2018-08-19
        • 2019-11-07
        • 2013-06-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多