python - 如何获取每个嵌套列表的第 3 个元素,但如果第 3 个不存在则放置 null?
问题描述
我的列表如下所示;
list = [['a', 'b', 'x'], ['a', 'd', 'r'], ['a', 'c']]
我想要做的是提取每个子列表的第三个元素,但在最后一个,因为只有 2 个输入“null”
这是我已经尝试过的。
try:
lst1 = [item[2] for item in list]
except IndexError:
lst1 = ['' for item in list]
print(lst1)
预期输出如下;
lst1 = ['x', 'r', '']
解决方案
您可以使用简单的列表理解:
lst = [['a', 'b', 'x'], ['a', 'd', 'r'], ['a', 'c']]
res = [i[2] if len(i) > 2 else '' for i in lst]
print(res) # ['x', 'r', '']
仅当子列表的长度超过 2 项时,该条件才i[2] if len(i) > 2 else ''
确保第 3 项(Python 使用从零开始的索引)存在。i[2]
len(i) > 2
推荐阅读
- postgresql - 自动生成的 Java ee 应用程序未连接到 PostgreSQL
- javascript - 访问循环javascript之外的变量
- c# - GetAzureADAppOnlyAuthenticatedContext 不释放证书的文件句柄
- c# - 使用 WooCommerceNET 库从 woocomerce 获取数据
- reactjs - 如何使用 React with Firebase 防止具有相同信息的同一用户重复?
- npm - 如何禁止 npm 包执行安装后脚本,而不禁用 package.json 中定义的脚本?
- javascript - console.timeEnd() 的返回值不一致
- vue.js - VueJS中列表的输入
- google-analytics - 使用 cypress 捕获发送到 google-analytics 的数据
- arrays - Google 表格数组中的静态值