То, что вы ищете, это random.choices
- Новое в Python версии 3.6 . - определение функции ниже; и вы можете прочитать больше здесь .
random.choices(population, weights=None, *, cum_weights=None, k=1)
Вы можете назначить weights
для того, чтобы дать определенному элементу приоритет над другими. - Хотя я полагаю, что приведенный ниже пример удовлетворит ваши потребности.
Пример
import random
random.choices([1, 2, 3, 4], k=4)
Альтернативно в старых версиях Python вы можете использовать random.choice
, как показано ниже; хотя он просто поддерживает один аргумент, последовательность.
Пример
import random
population = [1, 2, 3, 4, 5]
def choices(population, k=1):
return [random.choice(population) for _ in range(k)] if k > 1 else random.choice(population)
choices(population, k=5)
Выход
[2, 4, 2, 5, 1]
function slug($z){
$z = strtolower($z);
$z = preg_replace('/[^a-z0-9 -]+/', '', $z);
$z = str_replace(' ', '-', $z);
return trim($z, '-');
}
Следующее заменит пробелы тире.
$str = str_replace(' ', '-', $str);
Затем следующее утверждение удалит все кроме алфавитно-цифровых символов и подчеркнутый штриховой линией. (не имел пробелов, потому что на предыдущем шаге мы заменили их тире.
// Char representation 0 - 9 A- Z a- z -
$str = preg_replace('/[^\x30-\x39\x41-\x5A\x61-\x7A\x2D]/', '', $str);
, Который эквивалентен
$str = preg_replace('/[^0-9A-Za-z-]+/', '', $str);
к вашему сведению: Для удаления всех специальных символов из строкового использования
$str = preg_replace('/[^\x20-\x7E]/', '', $str);
, \x20 является шестнадцатеричным для пространства, которое является запуском символа Acsii, и \x7E является тильдой. Так же соответственно к Википедии https://Коды печатаемых символов en.wikipedia.org/wiki/ASCII
20hex к 7Ehex, известный как печатаемые символы, представляют буквы, цифры, знаки пунктуации и несколько разных символов. Всего существует 95 печатаемых символов.
Сначала удалите ненужные символы
$new_string = preg_replace("/[^a-zA-Z0-9\s]/", "", $string);
Затем замените пробелы на незавершенные
$url = preg_replace('/\s/', '-', $new_string);
Наконец закодируйте его готовым к использованию
$new_url = urlencode($url);