python返回列表[1,3,0,None,False,“a”]中,返回值为True的那些元素
时间: 2023-09-28 14:03:45 浏览: 32
在Python中,以下值被视为False:False、None、0、空字符串('')、空列表([])、空元组(())、空字典({})、空集合(set())。因此,在列表[1, 3, 0, None, False, 'a']中,只有1, 3和'a'被视为True。您可以使用以下代码来筛选出这些元素:
```
my_list = [1, 3, 0, None, False, 'a']
true_elements = [element for element in my_list if element]
print(true_elements)
```
输出结果为:[1, 3, 'a']
相关问题
用python返回列表[1,3,0,None,False,“a”]中,返回值为True的那些元素
可以使用列表推导式来实现:
```
my_list = [1, 3, 0, None, False, "a"]
true_list = [x for x in my_list if x]
```
这里利用了 Python 中的“真值测试”(truth testing)规则,即只有在布尔上下文中为 False 的值才被认为是 False,其他所有值都为 True。因此,在上面的列表推导式中,只有在布尔上下文中为 True 的元素才会被加入 true_list 中。这样,true_list 就是 [1, 3, "a"]。
在Python中print函数返回值为什么是True不是1,1和True有什么区别
在Python中,print函数的返回值始终为None,而不是True或1。如果在print函数中使用了一个表达式,该表达式将会被求值并打印在屏幕上,但是print函数的返回值仍然是None。
True和1之间的区别在于它们的数据类型。True是一个布尔值,表示逻辑上的真,而1是一个整数。虽然在某些情况下它们可以互换使用,但在其他情况下,它们是不同的数据类型,不能等价互换。例如,在Python中,True和1是不相等的。