python - 列表理解失败,无法显示无
问题描述
a = []
b = []
c = []
d = []
a = input('Enter first row (enter 0 for space): ')
b = input('Enter second row (enter 0 for space): ')
c = input('Enter third row (enter 0 for space): ')
d = input('Enter fourth row (enter 0 for space): ')
start = [int(a[0]),int(a[2]),int(a[4]),int(a[6]),
int(b[0]),int(b[2]),int(b[4]),int(b[6]),
int(c[0]),int(c[2]),int(c[4]),int(c[6]),
int(d[0]),int(d[2]),int(d[4]),int(d[6])]
[None if x==1 else x for x in start]
start
这是我的代码,我尝试输入一些值,例如 (1 2 3 4) 并将其保存到列表中,然后我想使用列表推导将每个 1 转换为None
. None
但是当我打印它时它不能改变。
解决方案
列表推导不会start
就地修改;您需要一个常规for
来执行一系列赋值语句。
for i, x in enumerate(start):
if x == 1:
start[i] = None
推荐阅读
- python - 将字符串作为函数的参数,然后打印该字符串的每个可能切片。在每个切片之前加上索引号
- python - 在 Pandas 中将一行添加到现有 CSV 文件中会给出 NaN 值
- excel - vba excel以某些标准访问
- python - 我做了一个创建计算器的初学者项目,然后推送到 Github。我在哪里可以找到我的代码?
- javascript - 如何使用jquery删除父div中具有相同类的重复元素
- reactjs - 如何在屏幕菜单中初始化路由名称以创建TabBottomNavigator
- python - 在 bash 中生成多个 python 脚本
- vue.js - 如何修复从源头访问 XMLHttpRequest 已被 nuxtjs 中的 CORS 策略阻止?
- python - 如何获取和设置具有二维矩阵列索引的一维数组?
- c++ - 这两者在c ++中有什么区别