Python:从多个列表中获取随机切片的更有效方法

时间:2017-10-25 06:49:24

标签: python list random

这是我编写的一段python代码,用于从4个列表中获取随机字符并将它们附加到单独的列表中:

key.append(chr(upper[randint(0,len(upper)-1)]))
key.append(chr(lower[randint(0,len(lower)-1)]))
key.append(chr(nums[randint(0,len(nums)-1)]))
key.append(chr(symbols[randint(0,len(symbols)-1)]))

有更优雅的方法吗?

2 个答案:

答案 0 :(得分:1)

我建议使用random.choice + list.extend

lsts = [upper, lower, nums, symbols]    
key.extend(chr(random.choice(x)) for x in lsts)

答案 1 :(得分:0)

  

random.choice( SEQ )

     

从非空序列 seq 返回一个随机元素。如果 seq 为空,则引发IndexError

source

key.append(chr(random.choice(upper)))