python - 有没有办法在 python 中打乱列表?

标签 python random shuffle

我正在尝试使用随机 abc 进行简单的加密以将其转换 但是我在使用 Random 库时遇到了问题。

  1. 尝试使用人们在 StackOverflow 上就此问题提出的一些其他答案,但都没有用...
  2. 尝试更新 pip 并尝试更新 random(你显然不能使用 pip,因为 Random 库是用 python 预下载的) 在 python Shell 中尝试了有问题的代码,但仍然是同样的问题...
import random
def random(st = 'i love cats')
    abc = 'abcdefghijklmnopqrstuvwxyz'
    randomabc = abc
    random.shuffle(randomabc)
    print(randomabc)

预期输出是ABC的随机顺序 实际输出是错误的(因为错误导致代码在打印前停止)

最佳答案

因为 abc 是一个字符串,它是不可变的(你不能就地改变它)你不能那样做。

相反,您必须:

  1. 将字符串拆分为字符列表。

  2. 打乱列表

  3. 将字符列表连接回一个字符串

import random

abc = 'abcdefghijklmnopqrstuvwxyz'
ls = list(abc)
random.shuffle(ls)
abc = ''.join(ls)

print(abc)

Example output:

erbkvownuhcmfljtgqpyiazdxs

另外:切勿使用与标准库名称冲突的名称来命名您的函数或 .py 文件。在这种情况下,您的函数与 random 模块同名,这是一个大问题。

关于python - 有没有办法在 python 中打乱列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55981876/

相关文章:

python - Pandas MultiIndex Dataframe Groupby Rolling Mean

python - 打乱单词的字符,同时保持句子结构和标点符号

java - Java 中的 Arraylist 序列 - Selenium WebDriver

c++ - 如何在没有随机性的情况下对列表进行洗牌,并保证一部分元素最终会出现在一侧?

python - 错误: No operator matches the given name and argument type(s)

python - 如何将 np.max 用于没有 ValueError : zero-size array to reduction operation maximum which has no identity 的空 numpy 数组

arrays - 如何使用 React Hooks 从数组中选择随机对象?

database - 无法从access数据库中读取数据

java - Java 中是否有机会随机生成特定的 Unicode 符号?

Python 从包中安装子包