首页 > 编程知识 正文

python随机选择字符串(python随机选取字符串)

时间:2023-12-23 21:12:51 阅读:319527 作者:YRGY

本文目录一览:

Python生成8位随机字符串的方法分析

Python生成8位随机字符串的方法分析

篇文章主要介绍了Python生成8位随机字符串的方法,结合实例形式对比分析了2种比较常用的随机字符串生成技巧,具有一定参考借鉴价值,需要的朋友可以参考下

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import random

import string

#第一种方法

seed = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^*()_+=-"

sa = []

for i in range(8):

sa.append(random.choice(seed))

salt = '.join(sa)

print salt

#运行结果:l7VSbNEG

#第二种方法

salt = '.join(random.sample(string.ascii_letters + string.digits, 8))

print salt

#运行结果:VOuCtHZs

生成随机字符串

在加密用户密码的时候,一个好方法就是产生一个随机字符串,然后再和密码进行混合求摘要。产生随机字符串的方法找到了这些。

第一种比较简单,易于理解

第二种不好理解,但很简洁

本来我只想随机取四个数字的,用的random.randint(1000,9999)。但是这个开头不会出现0,有点不爽,后来找到这个文章。

怎么用python随机生成一系列字符串

用Python随机生成字符串:

from random import Random

def random_str(randomlength=8):    //固定长度8

    str = ''    //str初始为空

    chars = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789'

    length = len(chars) - 1

    random = Random() //random模块用于生成随机数

    for i in range(randomlength):    //循环生成随机字符串

        str+=chars[random.randint(0, length)]

    return str

Python 随机产生[0,100]以内的随机数,找到最大值和最小值并交换位置

过程如图所示:

获取1~100以内的随机数有两种方法:

方法1:可以通过Math类中的random方法获取随机数,再乘以100加1,然后转换为int类型即可。

方法2:可以通过Random类中的nextInt方法获取随机数。

扩展资料

函数使用补充说明

1、random是用于生成随机数的,可以利用它随机生成数字或者选择字符串。

random.random(),用于生成一个随机浮点数:range[0.0,1.0)。

random.uniform(a,b),用于生成一个指定范围内的随机浮点数,a,b为上下限,只要a!=b,就会生成介于两者之间的一个浮点数,若a=b,则生成的浮点数就是a。

random.randint(a,b),用于生成一个指定范围内的整数,a为下限,b为上限,生成的随机整数a=n=b;若a=b,则n=a;若ab,报错。

random.randrange(, stop [,step]),从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1。

random.choice(sequence),从序列中获取一个随机元素,参数sequence表示一个有序类型,并不是一种特定类型,泛指list,tuple,字符串等。

random.shuffle(x[,random]),用于将一个列表中的元素打乱。

random.sample(sequence,k),从指定序列中随机获取k个元素作为一个片段返回,sample函数不会修改原有序列。

2、Python中有join()和os.path.join()两个函数,具体作用如下:

join():连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串。

os.path.join():将多个路径组合后返回。

python 生成随机字符串

楼主看看下面的方法吧,也许能为你开阔思路

思想很简单,从一个列表里选取字符,选中的字母就从列表中删除,这样就可以避免重复了

去掉##就可以了

##import random

##

##def getstr(n):

## al=list('abcdefghijklmnopqrstuvwxyz')

## st=''

## for i in range(n):

## index = random.randint(0,len(al))

## st = st + al[index]

## del al[index]

## return st

python如何生成随机数、随机字符、随机字符串?

import random

import string

# 返回给定数量的随机数列表

lst = random.sample(source, n)

参数source:从source中随机选择,n为数量

下面字符串可供选择

问题简单了

【生成n个随机数】

numlst = [int(i) for i in random.sample(string.digits, n)]

numlst为随机数整形列表

【生成n个随机字符】

strlst = [i for i in random.sample(string.ascii_letters, n)]

返回一个随机字符列表strlst。

【生成随机字符串】

strlst = [i for i in random.sample(string.ascii_letters, n)]

把随机字符连接起来就可以了

print(''.join(strlst))

如果需要生成的随机字符、字符串带有符号,则使用string.printable作为参数source传递给random.sample(source, n)中即可。

望采纳!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。