emr*_*yol 5 python random replace list
x_list = ['a', 'b', 'c', 'd', 'e']
t_list = ['z', 'y', 'u']
Run Code Online (Sandbox Code Playgroud)
我想用“随机”t_list
的元素替换 的元素x_list
。我研究并尝试了一些东西,但replace()
对列表不起作用。例如; x_new0 = ['a', 'z', 'c', 'y', 'u]
, x_new1 = ['z', 'y', 'c', 'd','u']
. 我怎样才能做到这一点?
您可以用来numpy.random.choice
随机选择原始列表中要进行替换的元素。然后,zip
这些索引针对您要用于替换的值并应用替换。
from numpy.random import choice
def swap_elements(x, t):
new_x = x[:]
for idx, value in zip(choice(range(len(x)), size=len(t), replace=False), t_list):
new_x[idx] = value
return new_x
Run Code Online (Sandbox Code Playgroud)
用法示例
>>> x_list = ['a', 'b', 'c', 'd', 'e']
>>> t_list = ['z', 'y', 'u']
>>> swap_elements(x_list, t_list)
['y', 'u', 'z', 'd', 'e']
>>> swap_elements(x_list, t_list)
['y', 'b', 'z', 'u', 'e']
>>> swap_elements(x_list, t_list)
['y', 'b', 'z', 'u', 'e']
>>> swap_elements(x_list, t_list)
['a', 'u', 'z', 'y', 'e']
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7984 次 |
最近记录: |