我有这个

>>> a = [1, 4, 7, 11, 17]
>>> print a
[1, 4, 7, 11, 17]

有没有办法在其他元素之间随机添加4个字符“-”,例如
['-', 1, '-', 4, 7, '-', '-', 11, 17]

最佳答案

你可以简单地:

import random
for _ in range(4):
    a.insert(random.randint(0, len(a)), '-')

循环体在'-'0之间(包括)的随机索引处插入一个len(a)。但是,由于插入列表是O(N),因此根据插入的次数和列表的长度构造新列表可能会更好:
it = iter(a)
indeces = list(range(len(a) + 4))
dash_indeces = set(random.sample(indeces, 4))  # four random indeces from the available slots
a = ['-' if i in dash_indeces else next(it) for i in indeces]

07-26 09:34