如何从列表中删除大于python中特定值的随机整数?

alw*_*btc -2 python random integer list

我有一个清单:

a = [1,3,5,657,78,43,7,2,123, 43, 321, 4531]
Run Code Online (Sandbox Code Playgroud)

我想从此列表中删除大于100的1个随机整数.怎么做?

ins*_*get 7

In [55]: a
Out[55]: [1, 3, 5, 657, 78, 43, 7, 2, 123, 43, 321]

In [56]: a = [1,3,5,657,78,43,7,2,123, 43, 321, 4531]

In [57]: a.pop(random.choice([i for i,num in enumerate(a) if num>100]))
Out[57]: 4531

In [58]: a
Out[58]: [1, 3, 5, 657, 78, 43, 7, 2, 123, 43, 321]
Run Code Online (Sandbox Code Playgroud)

  • 在`[101,2,101]`中,这将始终删除第一个元素. (2认同)
  • 为什么不抓住索引并对它们使用`random.choice`?正如@phihag所说,这种方式只有在没有重复数字超过100时才有效 (2认同)