python - 如何仅在 OrderedDict 中的每个键中提取第二个值元素?
问题描述
所以,我有这段代码,我只想在 OrderedDict 中的每个键中提取第二个值元素,我不想使用 for 循环,对此有什么想法吗?
from collections import OrderedDict
regDict= OrderedDict()
regDict["glenn"] = (100,200)
regDict["elena"] = (10,20)
print("values",list(regDict.values())[0][1])
print("values",list(regDict.values())[1][1])
印刷:
values 200
values 20
目标输出:
values 200,20 # or values ( 200,20 )
解决方案
要在不使用显式循环的情况下做到这一点(我会说只是放入for
列表理解语法仍然使用 for 循环),您可以使用map
仅将第二个值作为列表返回,然后将这些值与','.join()
for打印出来:
>>> ','.join(map(lambda x: str(x[1]), regDict.values()))
'200,20'
该调用使用 lambda 函数为每个原始值map
返回第二个值 ( ):[1]
>>> list(map(lambda x: str(x[1]), regDict.values()))
['200', '20']
将此列表作为参数调用','.join()
会为您提供一个串联的字符串,每个值用 . 分隔,
。
推荐阅读
- python - 使用 subprocess.Popen 传递 MPV 参数时出错
- r - 创建一个新列,在两列中添加天数,一列有数据,另一个 ID
- android - Android Chromebook 布局大小
- node.js - 如何使用 NODE_OPTIONS 环境变量在 Windows 中全局设置 max_old_space_size?
- mysql - 如何查询多个表以获取表具有相同列名的记录
- python - 根据值对齐两个系列
- ruby-on-rails - 尽管具有唯一性验证,但使用 Devise gem 创建的重复用户
- python - python线图,颜色基于x轴上带有日期的向量
- mysql - 按日期过滤记录以检索过去 7 天
- python - 如何在 csv 文件中查找元素并编辑文件