📜  如何打乱字符串中的元素 python - TypeScript (1)

📅  最后修改于: 2023-12-03 14:53:05.945000             🧑  作者: Mango

如何打乱字符串中的元素

在python或TypeScript中,我们可以使用不同的方法来打乱一个字符串中的元素。下面是一些示例:

Python中打乱字符串元素的方法
方法一: 使用random.shuffle()

Python中有一个内置的random模块,其中有一个shuffle()函数可以帮助我们打乱一个序列中的元素。我们可以将字符串转换为一个列表,然后使用shuffle()函数打乱元素,最后将列表转换回字符串。

import random

s = "hello world"
s_list = list(s)
random.shuffle(s_list)
s_shuffled = ''.join(s_list)

print(s_shuffled)

输出:

wlorlhdeo l
方法二:使用sample()

另一个Python中的内置库是random.sample()。这个方法的功能与random.shuffle()类似,但它不会修改原始序列,并返回一个随机元素的列表。我们可以使用join()函数将这些元素组合成一个字符串。

import random

s = "hello world"
s_shuffled = ''.join(random.sample(s, len(s)))

print(s_shuffled)

输出:

holldrweo l
TypeScript中打乱字符串元素的方法

TypeScript并非是Python般内置了打乱序列的函数。但我们可以使用 JavaScript数组功能,如splice和sort方法,来打乱一个字符串中的元素。

function shuffleString(str: string) : string {
  var arr = str.split(''); // 将字符串转换为字符数组
  var newArr = [];

  while(arr.length) {
    newArr.push(arr.splice(Math.round(Math.random() * (arr.length - 1)), 1)[0]);
  }

  return newArr.join('');
}

var s = "hello world";
var shuffled_s = shuffleString(s);
console.log(shuffled_s);

输出:

oowlrledlh 

以上都是常用的打乱字符串元素的方法,可以根据情况选择使用其中一种方法。