Python生成某元素有数量上限的随机列表

python怎样实现: 随机生成一个01列表,其中1的个数不能超过某个给定数值

import random

max_len=10  # 1的最大数量
list_len = 20  # 列表长度,如果要随机列表,可以生成一个随机值

ret = [0]*list_len  # 列表初始化
one_num = random.randint(0,max_len)  # 生成小于max_len的随机数,即列表中1的数量
one_pos = random.sample(range(20),one_num)  
for pos in one_pos:
    ret[pos]=1
print(ret)