这就是我正在做的事情,将一个int元组重新调整为另一个int元组。还有更好的方法吗?
size_tup = tuple([int(round(s*shrink)) for s in size])
我需要使用Image
模块调整图片大小,因为这需要tuple
ints
。因此,例如,如果我想将图像大小调整50%,我会这样做
size = .5
size_tup = tuple([int(round(s*shrink)) for s in size])
im = im.resize(size_tup, Image.ANTIALIAS)
所以我只使用长度为2的元组。我主要关注代码的简单性,因为上面看起来有些过分。
答案 0 :(得分:1)
在您的代码中,您正在创建一个列表,然后将其转换为元组。使用map函数来延迟评估列表(在python3中)。
<Resource
id="ra/activemq"
type="ActiveMQResourceAdapter">
BrokerXmlConfig = broker:(tcp://127.0.0.1:61617,network:static:tcp://127.0.0.1:61616)/server1?persistent=false&useJmx=true
ServerUrl = tcp://127.0.0.1:61617
</Resource>
根据评论,你也可以这样做(删除size_tup = tuple(
map(int, #this function calls int on each element
map(round, #this function calls round on each element
map(lambda x : x * shrink, #this function multplies each element by shrink
size))))
):
[]
答案 1 :(得分:-1)
我觉得类似的东西会对你有帮助。
map(lambda x: x * n, tuple)
根据地图功能的定义:
map(function, iterable, ...)
将函数应用于iterable的每个项目并返回结果列表