1. 程式人生 > >[py模塊]random&string取隨機字符串

[py模塊]random&string取隨機字符串

... urn arc slice and HA ML range 抽取

栗子

- 取n位的隨機字符串(大小寫/數字)
def get_random_str(len_str):
    import string
    import random
    letters_nums = string.ascii_letters + string.digits
    res = random.sample(letters_nums, len_str)
    return ''.join(res)

-
for i in range(10):
    print(get_random_str(10))
Gair4AILnM
rE2Vxg7CuB
..

random模塊api

random.random() #取0 <= n < 1.0的隨機浮點數

#用於生成一個0到1的隨機符點數: 0 <= n < 1.0

In [89]: random.random()
Out[89]: 0.3859165976515697

random.randint #取a <= n <= b的一個整數

print random.randint(12, 20)  #生成的隨機整數n: 12 <= n <= 20

random.uniform #取a <= n <= b浮點數

#指定範圍的隨機浮點數

print random.uniform(10, 20)  
print random.uniform(20, 10)  
#---- 結果(不同機器上的結果不一樣)  
#18.7356606526  
#12.5798298022  

random.choice # 從數組中隨機抽取1個值

print random.choice("學習Python")   
print random.choice(["JGood", "is", "a", "handsome", "boy"])  
print random.choice(("Tuple", "List", "Dict"))  

random.shuffle # 打亂一個數組

shuffle: 洗牌

p = ["Python", "is", "powerful", "simple", "and so on..."]  
random.shuffle(p)  
print p  
#---- 結果(不同機器上的結果可能不一樣。)  
#['powerful', 'simple', 'is', 'Python', 'and so on...']  

random.sample 從數組中區指定幾個樣品(返回list)

list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]  
slice = random.sample(list, 5)  #從list中隨機獲取5個元素,作為一個片斷返回  
print slice  
print list #原有序列並沒有改變。  

參考

[py模塊]random&string取隨機字符串