我有一个在列表中随机访问的列表,我正在向其中添加一个元素。 (请注意,该元素必须随机插入到列表内部,即我不想插入到末尾或开头) 例如:
myList = [[0, 1, 4, 7],[0, 3, 2, 7]]
toinsert = [5, 6]
for item in toinsert:
random.choice(myList).insert(random.randint(1,len(`the list that got chosen`)-2), item)
我尝试过使用
choicelist = random.choice(myList)
choicelist.insert(randint(1,len(choicelist)))
但是我不确定如何将其放回原始列表所在的位置 - 考虑到它是一个随机列表。
我知道我可以为 myList
随机选择一个索引并使用该方法,但我一直在寻找一种希望更 Pythonic 且更短的方法来实现这一点。
最佳答案
您无需执行任何操作即可使对 choicelist
的更改反射(reflect)在原始列表 myList
中。
choicelist = random.choice(myList)
在上面的语句中,choicelist
是对myList
中某个随机列表的引用,即choicelist
不是由创建的新列表>随机选择
。因此,您在 choicelist
中所做的任何更改都将反射(reflect)在 myList
中的相应列表中。
关于python - 确定被更改的随机列表的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48374664/