我可以构建什么循环来从字典" x"中分割以下两个键,并将最低值分配给字符串?
x.keys()
['12-13-14', '1-2-3']
输出应为以下字符串:
['12', '1']
我知道我可能需要.split("-")
,但我不知道如何编写循环来执行此操作。
答案 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
函数来确定最小值。