分割键(12-13-14)的dict并找到最小的数字

时间:2015-10-09 12:24:38

标签: python python-2.7 dictionary split

我可以构建什么循环来从字典" x"中分割以下两个键,并将最低值分配给字符串?

x.keys()

['12-13-14', '1-2-3']

输出应为以下字符串

['12', '1']

我知道我可能需要.split("-"),但我不知道如何编写循环来执行此操作。

1 个答案:

答案 0 :(得分:3)

不需要循环;只需使用列表理解。

>>> keys = ['12-13-14', '1-2-3']
>>> [str(min(int(x) for x in key.split('-'))) for key in keys]
['12', '1']

这样做:对于key中的每个keys,它会按照您的想法使用-split('-')分割密钥,并将其转换为{{1} (因为int,但2 < 12),找到'2' > '12',然后转换回min

甚至更短(更简洁),如@poke所建议的那样:

str

这不会转换为>>> [min(key.split('-'), key=int) for key in keys] 并返回int,而是使用str作为int函数来确定最小值。