此问题已在此处有答案:
How to randomly replace a string in a list(7个回答)
昨天关门了。
假设我有两个唯一的数组:
a = [1,20,21, 67,4, 20, 90, 54,90, 78]
b= [3, 654, 342, 309, 245, 213, 984, 56, 89, 23]
如果我传递值“20%”,我想用数组b中相同索引的值随机替换数组a中20%的值。
输出:
a = [3, 20, 21, 67, 4, 20, 90, 54, 90, 23]
以下是我尝试过的:
a = [1,20,21, 67,4, 20, 90, 54,90, 78]
b= [3, 654, 342, 309, 245, 213, 984, 56, 89, 23]
percentage = 0.2
no_of_replaced_values = int(len(a)*percentage)
sl = slice(0, no_of_replaced_values)
a[0:no_of_replaced_values]=b[sl]
print(a)
这给出了a= [3, 654, 21, 67, 4, 20, 90, 54, 90, 78]
的输出。我想随机更改它们,而不是连续更改值。
1条答案
按热度按时间uemypmqf1#
use random.sample可以用来从一个列表中给出n个随机索引。然后替换随机索引处的元素。
结果: