2024-06-01 00:55:41 发布
网友
实现以下功能的最佳方法是什么:
i= 0 imagesdict = dict() for image in list(glance.images.list()): d = image._info imagesdict[i] = d i=i+1 return json.dumps(imagesdict)
您可以在此处使用列表而不是dict:
json.dumps([image._info for image in glance.images.list()])
如果无法更改输出格式(如果输出格式被超出您控制范围的代码使用),则要获取一个传递相同信息的json对象:
json.dumps(dict(enumerate(image._info for image in glance.images.list())))
只需使用^{}在迭代iterable时获取当前索引,如下所示
for i, image in enumerate(glance.images.list()): imagesdict[i] = image._info
更好的是,你可以使用字典理解,像这样
json.dump({i: image._info for i, image in enumerate(glance.images.list())})
这似乎有点奇怪,为什么你要创建一个字典,如果你是所有的关键点?为什么不使用一个列表并索引每个元素呢?你知道吗
不管怎样,您可以使用字典理解来压缩它:
imagesdict = {i: image._info for i, image in enumerate(glance.images.list())}
enumerate函数的作用是接收一个列表,并返回一个新的列表,将索引与之捆绑在一起。所以,如果我做enumerate(['a', 'b', 'c']),输出将是[(0, 'a'), (1, 'b'), (2, 'c')]。你知道吗
enumerate(['a', 'b', 'c'])
[(0, 'a'), (1, 'b'), (2, 'c')]
所以,一旦我们做了enumerate(glance.images.list()),下一步就是把它变成一个实际的字典。你可以使用一个普通的for循环,或者更好的,一个字典理解,在一行中得到最终的dict。你知道吗
enumerate(glance.images.list())
您可以在此处使用列表而不是dict:
如果无法更改输出格式(如果输出格式被超出您控制范围的代码使用),则要获取一个传递相同信息的json对象:
只需使用^{} 在迭代iterable时获取当前索引,如下所示
更好的是,你可以使用字典理解,像这样
这似乎有点奇怪,为什么你要创建一个字典,如果你是所有的关键点?为什么不使用一个列表并索引每个元素呢?你知道吗
不管怎样,您可以使用字典理解来压缩它:
enumerate函数的作用是接收一个列表,并返回一个新的列表,将索引与之捆绑在一起。所以,如果我做
enumerate(['a', 'b', 'c'])
,输出将是[(0, 'a'), (1, 'b'), (2, 'c')]
。你知道吗所以,一旦我们做了
enumerate(glance.images.list())
,下一步就是把它变成一个实际的字典。你可以使用一个普通的for循环,或者更好的,一个字典理解,在一行中得到最终的dict。你知道吗相关问题 更多 >
编程相关推荐