python - 当我从同一个函数中获取键和值时,使用字典理解构建一个字典
问题描述
假设我有一个复杂的函数get_stuff
,它接受一个 int 并返回一个元组,第一个元素是 str 类型。以下示例具有相同的行为,但假设实际功能更复杂且不能轻易一分为二:
def get_stuff(x):
return str(5*x),float(3*x)
我想要的是构建一个字典,其 (key,value) 对是 get_stuff 在特定整数集上调用时的结果。一种方法是:
def get_the_dict(set_of_integers):
result = {}
for i in set_of_integers:
k,v = get_stuff(i)
result[k] = v
return result
我宁愿为此使用dict理解,但我不知道是否可以在理解中拆分对以分别捕获键和值。
def get_the_dict_with_comprehension(set_of_integers):
return {get_stuff(i) for i in set_of_integers} #of course this doesn't work
我怎样才能做到这一点?
解决方案
你可以这样做,而不是字典理解:
dict(get_stuff(i) for i in range(10))
推荐阅读
- python - 在 ctypes 加载共享库中卸载共享库
- jenkins - 有没有更好的方法来根据规则调整gerrit插入代码大小并排除文件路径?
- c# - 检查 BIN 编号
- + 性能增强
- python - 训练集和测试集的准确率突然下降,损失突然上升,但慢慢恢复
- ios - 在 iOS 应用程序中连接后 Chromecast 未播放媒体
- python-3.x - Tweepy: tweepy.error.tweeperror 'code' 215 'message' 'bad authentication data.'
- python-3.x - 清理 Airflow Dags 的统计信息
- file-upload - Vimeo API:使用可恢复方式上传视频文件
- visual-studio-code - 更改快速选择器的悬停颜色
- regex - 如何使用 RegEx 捕获 VBA (Outlook) 中特定字符串之后的下一行?