python - 如何通过嵌套列表中的某个索引位置运行 for 循环?
问题描述
我有一个列表,想知道如何在某个索引位置访问/循环列表。我想这样做的原因是只改变那些位置的那些元素。在此示例中,位置 1 是客户的姓名,位置 2 是年龄。我只想为客户的年龄运行一个条件。
L = [['Sam', '35'],['John', '45'], ['Steve', '99']]
L = ['Group 1' if '35' in x else 'Group 2' if '45' in x else 'Group 3' for x in L]
结果:
print(L)
L = ['Group 1', 'Group 2', 'Group 3']
我真正想要的:
print(L)
L = [['Sam', 'Group 1'],['John', 'Group 2'], ['Steve', 'Group 3']]
解决方案
你可以尝试这样的事情:
L = [['Sam', '35'],['John', '45'], ['Steve', '99']]
L = [[x[0],'Group 1'] if '35' in x else [x[0],'Group 2'] if '45' in x else [x[0],'Group 3'] for x in L]
print(L)
输出:
[['Sam', 'Group 1'],['John', 'Group 2'], ['Steve', 'Group 3']]
推荐阅读
- java - 基于人员类参数的优先队列
- excel - 运行时错误 424:需要对象。我错过了什么?
- asp.net - Asp.net core 2.1 Web App 无法在 IIS 上正确呈现
- javascript - scrollIntoView 函数不会滚动到任何地方
- reactjs - React:编译失败;index.js
- javascript - JavaScript 中的动画问题
- angularjs - angular 7 *ngFor 嵌套数组迭代
- ruby-on-rails - 无法将 IP 地址“xxx”的 RSA 主机密钥添加到已知主机列表 (/home/webapp/.ssh/known_hosts)
- string - 如何在 CMake 表达式中连接两个文字字符串?
- c# - 使用数据契约在所有层中使用 DTO 是否很好?