在 Python 中生成长度为 N 的随机字符串
Generate a random string of length N in Python
要生成长度为 N 的随机字符串:
- 使用该
string
模块获取 ASCII 字符的字符串。 - 使用该
random.choice()
方法从字符串中获取 N 个随机字符。 - 使用该
str.join()
方法将可迭代对象连接成一个字符串。
主程序
import string import random # ✅ Generate a random string of length N of Lowercase letters lowercase_only = ''.join( random.choice(string.ascii_lowercase) for _ in range(5) ) print(lowercase_only) # 👉️ koahf # ----------------------------------------- # ✅ Generate a random string of length N of Uppercase letters uppercase_only = ''.join( random.choice(string.ascii_uppercase) for _ in range(5) ) print(uppercase_only) # 👉️ TNYAD # ----------------------------------------- # ✅ Generate a random string of length N of Lowercase and Uppercase letters lowercase_and_uppercase = ''.join( random.choice(string.ascii_letters) for _ in range(5) ) print(lowercase_and_uppercase) # 👉️ xJyNJ
第一个示例生成一个长度为 N 的随机字符串,其中包含 ASCII 小写字母。
主程序
import string import random lowercase_only = ''.join( random.choice(string.ascii_lowercase) for _ in range(5) ) print(lowercase_only) # 👉️ axfkd
我们使用该string
模块获取包含 ASCII 字母的字符串。
主程序
import string # abcdefghijklmnopqrstuvwxyz print(string.ascii_lowercase) # ABCDEFGHIJKLMNOPQRSTUVWXYZ print(string.ascii_uppercase) # abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ print(string.ascii_letters)
该ascii_lowercase
属性返回一个包含小写 ASCII 字母的字符串。
ascii_uppercase
如果您需要获取包含大写 ASCII 字母的ascii_letters
字符串或获取包含两者的字符串,则可以使用该属性。
random.choice方法接受
一个序列并从非空序列返回一个随机元素。
主程序
import string import random print(random.choice(string.ascii_lowercase)) # 👉️ y print(random.choice(string.ascii_lowercase)) # 👉️ j print(random.choice(string.ascii_lowercase)) # 👉️ z
最后一步是使用该str.join()
方法将可迭代对象连接成一个字符串。
主程序
import string import random uppercase_only = ''.join( random.choice(string.ascii_uppercase) for _ in range(5) ) print(uppercase_only) # 👉️ TNYAD
str.join方法将一个可迭代对象作为参数并返回一个字符串,该字符串是可迭代对象中字符串的串联。
调用该方法的字符串用作元素之间的分隔符。
我们使用一个空字符串将可迭代对象的元素连接成一个没有分隔符的字符串。
要获得包含小写和大写 ASCII 字母的长度为 N 的随机字符串,请使用该string.ascii_letters
属性。
主程序
import string import random lowercase_and_uppercase = ''.join( random.choice(string.ascii_letters) for _ in range(5) ) print(lowercase_and_uppercase) # 👉️ xJyNJ
string.digits
如果需要获取长度为 N 且包含数字的随机字符串,则可以使用该属性。
主程序
import string import random digits = ''.join( random.choice(string.digits) for _ in range(5) ) print(digits) # 👉️ 71438
该string.digits
属性返回一个字符串,其中包含从0
到
的数字9
。
主程序
import string import random print(string.digits) # 👉️ 0123456789
我们使用range()
该类在示例中构造了一个可迭代对象。
该类range()
采用以下参数:
姓名 | 描述 |
---|---|
start |
表示范围开始的整数(默认为0 ) |
stop |
向上,但不包括提供的整数 |
step |
范围将由每 N 个数字组成,从start 到stop (默认为1 ) |
如果您只将单个参数传递给range()
构造函数,则它被认为是stop
参数的值。
主程序
for n in range(5): print(n) # 👉️ 0 1 2 3 4 result = list(range(5)) # 👇️ [0, 1, 2, 3, 4] print(result)