在 Python 中生成一个随机字母
Generate a random letter in Python
要生成随机字母:
- 使用该
string.ascii_letters
属性获取一串字母。 - 使用该
random.choice()
方法获取随机字母。 - 该
random.choice()
方法从序列中返回一个随机元素。
主程序
import string import random # ✅ generate random letter print(random.choice(string.ascii_letters)) # 👉️ V # ✅ generate random uppercase letter print(random.choice(string.ascii_uppercase)) # 👉️ D # ✅ generate random lowercase letter print(random.choice(string.ascii_lowercase)) # 👉️ n # ✅ generate N random letters print(''.join(random.choices( string.ascii_lowercase, k=5 ))) # 👉️ xtjmn
我们使用该string
模块获取包含 ASCII 字母的字符串。
主程序
# 👇️ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ print(string.ascii_letters) print(string.ascii_lowercase) # 👉️ abcdefghijklmnopqrstuvwxyz print(string.ascii_uppercase) # 👉️ ABCDEFGHIJKLMNOPQRSTUVWXYZ
string.ascii_letters
属性返回包含大写和小写 ASCII 字母的字符串。
string.ascii_uppercase
属性返回一个字符串,其中A
包含从到
的大写字母Z
。
string.ascii_lowercase
属性返回一个包含从到
的小写字母的字符串。a
z
random.choice方法接受
一个序列并从非空序列返回一个随机元素。
主程序
import random print(random.choice('bobbyhadz.com')) # 👉️ o
如果你需要得到一个由 N 个随机字母组成的字符串,使用较新的
random.choices()
方法。
在 Python 中生成一串 N 个随机字母
要生成一个包含 N 个随机字母的字符串:
- 使用该
string
模块获取一串字母。 - 使用该
random.choices()
方法获取随机字母列表。 - 使用该
str.join()
方法将字母列表连接成一个字符串。
主程序
import string import random def get_random_letters(length): return ''.join( random.choices( string.ascii_lowercase, k=length ) ) print(get_random_letters(4)) # 👉️ yvdi print(get_random_letters(8)) # 👉️ ekvrfqbm
random.choices
方法接受
一个序列和一个k
关键字参数,并返回k
从序列中选择的元素的大小列表。
主程序
import string import random # 👇️ ['V', 'Y', 'M', 'E', 'N'] print(random.choices(string.ascii_uppercase, k=5))
一旦我们有了一个随机字符和数字的列表,我们就可以使用该方法将列表连接成一个字符串。
str.join()
str.join方法将一个可迭代对象作为参数并返回一个字符串,该字符串是可迭代对象中字符串的串联。
主程序
import string import random # 👇️ "AWDOJ" print(''.join(random.choices(string.ascii_uppercase, k=5)))
调用该方法的字符串用作元素之间的分隔符。
如果您使用的 Python 版本早于 3.6,请使用该方法而不是.
random.choice()
random.choices()
主程序
import string import random def get_random_letters(length): return ''.join( random.choice(string.ascii_lowercase) for _ in range(length) ) print(get_random_letters(4)) # 👉️ wytq print(get_random_letters(8)) # 👉️ uxqdpkoe
我们使用生成器表达式迭代range
长度为 N 的对象。
范围类通常用于循环特定次数。
主程序
print(list(range(5))) # 👉️ [0, 1, 2, 3, 4] print(list(range(4))) # 👉️ [0, 1, 2, 3]
生成器表达式用于对每个元素执行某些操作或选择满足条件的元素子集。
在每次迭代中,我们选择一个随机字母并返回结果。
如果您使用random.choice()
的 Python 版本比3.6
.