numpy 如何将值列表转换为布尔值true false

neskvpey  于 2022-12-23  发布在  其他
关注(0)|答案(4)|浏览(289)

我是python的新手,想看看是否可以得到一些关于如何将值列表转换为布尔值的帮助。
我列了个单子:

lst = [-10.4, -33.6, -1.2, -11.4, -1.1]

我试图定义一个函数,它将遍历lst,如果数字等于或小于-10,则赋值True,如果数字大于-10,则赋值False
预期产出:

lst: [True, True, False, True, False]

下面是我尝试编写但没有检索到所需结果的代码:

def covert_to_boolean(lst):
    for num in lst:
        if num >= -10: 
            return True
    else: 
        False 
        return lst

输入:

covert_to_boolean(list_1)

输出:

True
vlf7wbxs

vlf7wbxs1#

lst = [-10.4, -33.6, -1.2, -11.4, -1.1]

out=[i<=-10 for i in lst]

print(out)
#[True, True, False, True, False]
nwsw7zdq

nwsw7zdq2#

def covert_to_boolean(lst):
    return_list = []
    for _, num in enumerate(lst):
        if num >= -10: 
            return_list.append(True)
    else: 
        return_list.append(False)
    return return_list
ljsrvy3e

ljsrvy3e3#

for num in range(len(lst))一样循环遍历列表,并使用相同的if条件,只需设置lst[num] = Truelst[num] = False
它将如下所示

for num in range(len(lst)):
    if lst[num] >= -10:
        lst[num] = True
    else:
        lst[num] = False
w8f9ii69

w8f9ii694#

您也可以使用map()

list_1 = [-10.4, -33.6, -1.2, -11.4, -1.1]

def covert_to_boolean(lst):
    return [*map(lambda i:i<=-10,lst)]

print(covert_to_boolean(list_1))

# [True, True, False, True, False]

相关问题