python - 用定义的值替换列表列表中的元素 - Python
问题描述
我有一个这样的列表:
L = [[0, 0, 1, 0, 0], [0, 1, 1, 1, 0], [1, 1, 1, 1, 1]]
信息:
print(type(L))
print(type(L[0]))
print(type(L[0][0]))
<class 'list'>
<class 'list'>
<class 'int'>
我想得到这个结果:
L = [[' ', ' ', '*', ' ', ' '],[' ', '*', '*', '*', ' '], ['*','*','*','*',]]
现在列表的元素是 chr
有没有很好的方法来做到这一点?当然,我可以使用 fors 和迭代器,但我正在寻找更平滑的东西。
解决方案
您可以使用嵌套列表推导生成一个保持嵌套结构的新列表,使用if
/else
语句相应地填充它*
或使用空格:
L = [[0, 0, 1, 0, 0], [0, 1, 1, 1, 0], [1, 1, 1, 1, 1]]
[['*' if i else ' ' for i in l] for l in L]
[[' ', ' ', '*', ' ', ' '],
[' ', '*', '*', '*', ' '],
['*', '*', '*', '*', '*']]
推荐阅读
- vue.js - 如何将Vuetify select的值设置为数组或对象
- memory - 为什么我的显卡会以这种特殊模式出现故障?
- javascript - API调用去catch,什么时候应该尝试
- c++ - 如何将 RCpp 与 ALGLIB 库链接?
- python-3.x - 我不想在我的字符串中添加所有数字
- android - 具有颜色选择器属性的渐变
- python - 限制 mapbox geocoder api 调用地址自动完成
- terminal - 如何从 Sublime Text 3 中打开终端
- selenium - 使用 Allure 生成 Selenium 报告
- git - Rust 交互式运行命令