生成随机数:
import random
import string
#随机整数:
random.randint(1,50)
#一定范围内按照步长采样:
random.randrange(0, 101, 2)
#随机浮点数:
random.random()
random.uniform(1, 10)
#从指定序列中采样一个:
random.choice('abcdefghijklmnopqrstuvwxyz!@#$%^&*()')
#从指定序列中采样多个:
random.sample(['01','02','20','29','35','36'],3)
#从a-zA-Z0-9生成指定数量的随机字符:
x=random.sample(string.ascii_letters + string.digits, 8)
#数字和字母连在一起
y= ''.join(x)
#打乱排序
items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
random.shuffle(items)
List常用操作
#添加元素
list.append(a)
#添加list
listA.extend(listB)
#从list中采样
newlist = random.sample(list, 3)
#求交集
retB = list(set(listA).intersection(set(listB)))
#求并集
retC = list(set(listA).union(set(listB)))
#求差集,在B中但不在A中
retD = list(set(listB).difference(set(listA)))
排列组合,重复等迭代操作
itertools包:模块实现了许多迭代器构造块
https://docs.python.org/3/library/itertools.html.
#排列组合
#product,排列组合,考虑先后,考虑自身组合
product('ABCD', repeat=2)
##AA AB AC AD BA BB BC BD CA CB CC CD DA DB DC DD
#permutations,排列组合,考虑先后,不考虑自身
permutations('ABCD', 2)
##AB AC AD BA BC BD CA CB CD DA DB DC
#combinations,组合,不考虑自身
combinations('ABCD', 2)
##AB AC AD BC BD CD
#combinations_with_replacement,组合,考虑自身
combinations_with_replacement('ABCD', 2)
##AA AB AC AD BB BC BD CC CD DD