python - 具有列表理解的圆形列表值,包括无
问题描述
我想四舍五入忽略无的列表的值。
给定一个没有 None 值的列表,我会这样做:
import math
value_list = [1.5, 2.3, 3.2, 4.7]
rounded_list = [math.floor(elem) for elem in value_list]
包含 None 值的列表会给出错误:
import math
value_list = [1.5, 2.3, None, 4.7]
rounded_list = [math.floor(elem) for elem in value_list]
TypeError: must be real number, not NoneType
我有这个解决方案,但我想知道,是否有一个单行
import math
value_list = [1.5, 2.3, None, 4.7]
for i in range(len(value_list)):
try:
value_list[i] = math.floor(value_list[i])
except:
pass
解决方案
选项 1. 四舍五入的值,包括无
rounded_list = [None if elem is None else math.floor(elem) for elem in value_list]
选项 2. 不带无的四舍五入值
rounded_list = [math.floor(elem) for elem in value_list if not elem is None]
推荐阅读
- python - Python 包“六”刹车 apt 命令
- passwords - 密码 UITextField 的 IOS 键盘显示缓慢
- php - 消息:未定义的属性:CI_Loader::$general_settings
- c - 如何从套接字向 bash 进程的 STDIN 发送命令?
- javascript - 加载时替换图像
- r - 如何更改在ggplot图中按字母顺序排列的变量的顺序?
- excel - 具有数据验证的工作表更改事件
- dataframe - 如何使用 pyspark 使用年份和年份获取周数?
- view - SwiftUI 初始化视图的值
- javascript - 使用变量时的 GraphQL 错误请求