我有一个包含许多字符的列表,如下所示:
list = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q',
'r','s','t','u','v','w','x','y','z','1','2','3','4','5','6','7','8','9',
'0'," ",'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P',
'Q','R','S','T','U','V','W','X','Y','Z']
我希望程序在列表中的前26个(小写字母)项目中随机选取8个字符。我不会删除或分离此数组中的其他项目,因为我稍后需要它们来做类似的事情。
我对编程有些新意,我更喜欢一个简单的解决方案,虽然我并没有阻止你把更复杂的东西放在那里让别人看。
提前致谢!
答案 0 :(得分:4)
您可以对数组进行切片,然后对其进行采样。
random.sample(seq[:26], k=8)
答案 1 :(得分:1)
渴望你需要random module:
import random
然后我会使用这个解决方案:
your_list = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q',
'r','s','t','u','v','w','x','y','z','1','2','3','4','5','6','7','8','9',
'0'," ",'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P',
'Q','R','S','T','U','V','W','X','Y','Z']
first_26_characters = your_list[0:26] # get items from 0 to 26 in new list
random.shuffle(first_26_characters) # shuffle new list
random_8_characters = first_26_characters[0:8] # get first 8 characters because after shuffle they are random
我希望这有帮助!