将bool值True、False分别转换成整型并输出,将3、-4、0、3.14、0.0、”abc”、””分别转换成bool型并输出
时间: 2023-05-13 15:06:49 浏览: 206
将bool值True、False分别转换成整型并输出:
True 转换成整型为 1,False 转换成整型为 0。
代码如下:
print(int(True)) # 输出 1
print(int(False)) # 输出 0
将3、-4、0、3.14、0.0、”abc”、””分别转换成bool型并输出:
在 Python 中,非零数值、非空字符串和非空列表、元组、字典等数据类型都被视为 True,而 0、空字符串、空列表、空元组、空字典等数据类型都被视为 False。
代码如下:
print(bool(3)) # 输出 True
print(bool(-4)) # 输出 True
print(bool(0)) # 输出 False
print(bool(3.14)) # 输出 True
print(bool(0.0)) # 输出 False
print(bool("abc")) # 输出 True
print(bool("")) # 输出 False
相关问题
将一个bool数组转换成16进制的数,例如[false,false,false,false,true,true,true,true]转换成0x0f
可以使用位运算符实现将bool数组转换成16进制数的操作。
具体实现方法如下:
1. 将bool数组转换成一个整数,可以使用以下代码:
```python
bin_num = 0
for b in bool_array:
bin_num = (bin_num << 1) | int(b)
```
2. 将整数转换成16进制数,可以使用以下代码:
```python
hex_num = hex(bin_num)[2:].zfill((len(bool_array) + 3) // 4)
```
完整代码如下:
```python
bool_array = [False, False, False, False, True, True, True, True]
bin_num = 0
for b in bool_array:
bin_num = (bin_num << 1) | int(b)
hex_num = hex(bin_num)[2:].zfill((len(bool_array) + 3) // 4)
print("0x" + hex_num)
```
输出结果为:0x0f
lst0=[0, 1, 0.0, 0j, '', ' ', '0', '1', '[]', '[0]', '[0, 0]'] 用列表生成式和zip()等生成并输出下面的数据结构: bo2=[False, True, False, False, False, True, True, True, False, True, True] dt0={0: False, 1: True, '': False, ' ': True, '0': True, '1': True, '[]': False, '[0]': True, '[0, 0]': True}
使用列表生成式和zip()函数可以生成bo2列表:
```python
bo2 = [bool(x) for x in lst0]
```
使用字典推导式和zip()函数可以生成dt0字典:
```python
dt0 = {x: bool(x) for x in lst0}
```
输出结果如下:
```python
bo2=[False, True, False, False, False, True, True, True, False, True, True]
dt0={0: False, 1: True, '': False, ' ': True, '0': True, '1': True, '[]': False, '[0]': True, '[0, 0]': True}
```
阅读全文