【问题标题】:How do i prevent changing multiple lists?如何防止更改多个列表?
【发布时间】:2020-11-02 12:09:12
【问题描述】:

我有这个脚本应该创建两个不同的列表。但相反,它改变了它们,所以它们是相同的。

from random import shuffle

my_list = [1,2,3,4]
second_list = []
shuffle(my_list)
second_list.extend(my_list)

print(my_list,second_list)

如何防止这种情况发生?

【问题讨论】:

  • 可能已经有人问过了。但我不知道如何搜索它。

标签: python-3.x list random shuffle


【解决方案1】:

假设你想要输出的原始和打乱列表,你必须在保存原始列表后打乱

from random import shuffle

my_list = [1,2,3,4]
second_list = []
second_list.extend(my_list)
shuffle(my_list)

print(my_list,second_list)

或者如果你想要 2 个随机列表:

from random import shuffle

my_list = [1,2,3,4]
second_list = []
second_list.extend(my_list)
shuffle(my_list)
shuffle(second_list)

print(my_list,second_list)

【讨论】:

  • 是的,那是因为你在洗牌后复制了列表。
  • 在另一个项目中,我有一个非常大的列表。有没有更简单的方法来做到这一点,而不必洗牌的每一部分?
  • 那是另一个话题,但请查看这个答案:stackoverflow.com/a/44862688/10116997 它初始化一个 RNG 一分钟,但调用它的速度非常快。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-09
  • 2019-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-10
相关资源
最近更新 更多