【问题标题】:Shuffle and re shuffle list in python? [duplicate]在python中随机播放和重新播放列表? [复制]
【发布时间】:2014-01-24 16:20:14
【问题描述】:

我有一个数字列表,我想用一个键将其洗牌并重做。我将其用作小型加密算法,因此我需要重新洗牌或从洗牌列表中获取原始列表。

original = [10, 20, 30, 25, 45, 68, 25]
shuffled = shuffle(original, key=10)
print shuffled
# >>> [25, 30, 25, 10, 20, 45, 68]
print re_shuffle(shuffled, key=10)
# >>> [10, 20, 30, 25, 45, 68, 25]

这就是我想要的想法。有没有这方面的库或算法?

【问题讨论】:

  • key 与您的随机播放算法有何关系?
  • 如果没有键,那么如何重新洗牌?算法必须有一些参数,以便它可以追溯到原始列表。
  • 您可以在 python 中播种您的改组,请参阅:stackoverflow.com/questions/4557444/… - 请注意,自行发明的加密算法几乎总是不好的。适合尝试和玩弄,但除非您是加密专家,否则您永远不应该依赖这些东西
  • @kratenko 它是一个学生项目,所以算法很好。
  • @kratenko 链接的问题重复

标签: python algorithm shuffle


【解决方案1】:
from random import shuffle

x = [[i] for i in range(10)]
shuffle(x)

print x

【讨论】:

  • 对于“关键”部分,可以保存到文件吗?如果是这样,那就太容易了
猜你喜欢
  • 2023-01-23
  • 1970-01-01
  • 2017-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-02
相关资源
最近更新 更多