คุณสามารถใช้ random.choice(list_of_choices) เพื่อรับอักขระแบบสุ่ม จากนั้นวนซ้ำและรับรายการและสุดท้ายเข้าร่วมรายการนี้เพื่อรับสตริง รายการตัวเลือกที่นี่คือตัวพิมพ์ใหญ่และตัวเลข ตัวอย่างเช่น:
import string import random def get_random_string(length): random_list = [] for i in xrange(length): random_list.append(random.choice(string.ascii_uppercase + string.digits)) return ''.join(random_list) print get_random_string(10)
สิ่งนี้จะให้ผลลัพธ์แก่เรา:
'35WO8ZYKFV'
สามารถทำได้ในบรรทัดเดียว:
>>> ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in xrange(10)) '35WO8ZYKFV'
ใน Python 3 เรามีการสุ่ม วิธีทางเลือกซึ่งรับอาร์กิวเมนต์ที่สองเป็นความยาวของสตริงสุ่ม สามารถใช้เพื่อให้ได้เวอร์ชันที่สั้นกว่านี้:
>>> ''.join(random.choices(string.ascii_uppercase + string.digits), k=10) '35WO8ZYKFV'