此代码块提供了正确的输出,但是生成数字替换的表达式效率低下,因为它重复相同的表达式两次。有没有办法通过不重复这个短语来使它更简洁?代码:numphrase = {3: "three", 5: "five"}result = [''.join([numphrase.get(key) for key in numphrase if not num % key]) if ''.join([numphrase.get(key) for key in numphrase if not num % key]) else num for num in range(101)]print(*result, sep="\n")输出:threefive12three4five...
1 回答
慕姐4208626
TA贡献1852条经验 获得超7个赞
有一种更简单的x if x else y
Python 编写方法,那就是x or y
.
所以你可以把你的理解写成
result = [''.join([numphrase.get(key) for key in numphrase if not num % key]) or num for num in range(101)]
添加回答
举报
0/150
提交
取消