如何在python中随机删除字典的一部分?

如何在python中随机删除字典的一部分?,python,dictionary,random,Python,Dictionary,Random,如果我有一个带有键a0、a1、a2、b1、b2、b3的字典,我只想随机弹出两个键以“a”而不是“b”开头的项目,如何修改下面的代码 for key in random.sample(d.keys(), n): del d[key] # or d.pop(key) [k代表k in d如果k.startswitha]获取所有以a开头的键,那么random.sample将返回n个以a开头的键 [k代表k in d如果k.startswitha]获取所有以a开头的键,那么random.s

如果我有一个带有键a0、a1、a2、b1、b2、b3的字典,我只想随机弹出两个键以“a”而不是“b”开头的项目,如何修改下面的代码

for key in random.sample(d.keys(), n): 
    del d[key] # or d.pop(key) 
[k代表k in d如果k.startswitha]获取所有以a开头的键,那么random.sample将返回n个以a开头的键

[k代表k in d如果k.startswitha]获取所有以a开头的键,那么random.sample将返回n个以a开头的键


如果有人正在寻找更容易掌握的解决方案: 您可以利用这样一个事实,即字典是以随机顺序创建的,而且每次dict发生变化时,迭代顺序都会改变

count=0
for key in d:
    if key[0]=='a':
        if count<2:
            del d[key]
            count+=1
        else:
            break

如果有人正在寻找更容易掌握的解决方案: 您可以利用这样一个事实,即字典是以随机顺序创建的,而且每次dict发生变化时,迭代顺序都会改变

count=0
for key in d:
    if key[0]=='a':
        if count<2:
            del d[key]
            count+=1
        else:
            break

这不是一个随机顺序,而键和值的添加方式通常与输出不匹配。在每次迭代dict时,只要dict没有更改,就会得到相同的键/值配对顺序。更改dict时会怎么样?e、 流行音乐2元素?我的印象是这会导致新的订单,因此从用户角度来看是随机的。这不是随机订单,虽然键和值的添加方式通常与输出不匹配,但每次迭代dict时,只要dict没有更改,就会得到相同的键/值配对顺序。更改dict时会怎么样?e、 流行音乐2元素?我的印象是,这将导致新的订单,因此从用户的角度来看是随机的
count=0
for key in d:
    if key[0]=='a':
        if count<2:
            del d[key]
            count+=1
        else:
            break