gpt4 book ai didi

python - 创建一个根据概率更改列表中的值的函数

转载 作者:行者123 更新时间:2023-12-01 08:53:49 25 4
gpt4 key购买 nike

我是Python(或与此相关的编程)新手。我正在创建一个带有两个参数的 def 函数:位列表和错误概率。

对于位列表中的每个元素,该元素都有可能(错误概率)从 0 翻转到 1,反之亦然。该函数应返回包含位和翻转的实际位数的新列表。

我已经试验了大约一个半小时,但没有真正想出任何东西。我知道我们应该在 def 函数中使用 random.random 函数和 for 循环,但没有任何效果。

结果应该是这样的:

>>>x
[0,0,1,1,0,0,0,0]

>>>(NewList,FlipTimes)=TheFunction(x,0.2)
>>>NewList
[0,0,1,0,1,0,0,1]
>>>FlipTimes
3

再说一遍,我对编程非常陌生,所以我在这里的尝试是徒劳的。

def addNoise(a,b):

c=0
for x in a:
y=random.random
if y<b:
if x==1:
x=0
else:
x=1
for i in x:
if y<b== True:
c+=1
return(x,c)

最佳答案

import random

def flipbit(x, prob):
count = 0
out = []
for e in x:
if random.random() <= prob:
count += 1
out.append(int(not e))
else:
out.append(e)
return out, count


x = [0,0,1,0,1,0,0,1]
new_list, flip_times = flipbit(x, 0.2)
print ('original: ', x)
print ('new list: ', new_list)
print ('flip times: ', flip_times)

# original: [0, 0, 1, 0, 1, 0, 0, 1]
# new list: [0, 0, 1, 0, 1, 1, 1, 1]
# flip times: 2

关于python - 创建一个根据概率更改列表中的值的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52918476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com