用标量乘元组
我有以下这段代码:
print(img.size)
print(10 * img.size)
这段代码会输出:
(70, 70)
(70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70)
我希望它能输出:
(700, 700)
有没有办法做到这一点,而不需要写:
print(10 * img.size[0], 10 * img.size[1])
附注:img.size
是一个PIL图像。我不知道这在这个情况下是否重要。
12 个回答
18
用pythonic的方式可以通过列表推导式来实现:
y = tuple([z * 10 for z in img.size])
另一种方法可以是:
y = tuple(map((10).__mul__, img.size))
53
在编程中,有时候我们会遇到一些问题,可能是因为代码写得不够好,或者是我们对某些概念理解得不够透彻。比如,有人可能在使用某个功能时,发现它并没有按照预期工作,这时候就需要仔细检查代码,看看是不是哪里出错了。
在解决问题的过程中,很多人会去网上查找资料,比如在StackOverflow这样的论坛上提问或者寻找答案。这里有很多经验丰富的程序员,他们会分享自己的见解和解决方案。
当你看到别人提问时,通常会有很多人给出不同的回答。每个回答可能会从不同的角度来分析问题,提供各种解决方法。你可以根据自己的情况,选择最适合你的方案。
总之,编程就像解谜一样,有时候需要耐心和细心去找出问题的根源,然后一步步解决它。记得多向他人请教,积累经验,这样你会越来越熟练。
img.size = tuple(i * 10 for i in img.size)
94
可能有更好的方法,但这个方法应该可以用。
tuple([10*x for x in img.size])