猿问

如何在列表理解中引用未命名变量?

此代码块提供了正确的输出,但是生成数字替换的表达式效率低下,因为它重复相同的表达式两次。有没有办法通过不重复这个短语来使它更简洁?


代码:


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")

输出:


threefive

1

2

three

4

five

...


幕布斯7119047
浏览 106回答 1
1回答

慕姐4208626

有一种更简单的x if x else yPython 编写方法,那就是x or y.所以你可以把你的理解写成result = [''.join([numphrase.get(key) for key in numphrase if not num % key]) or num           for num in range(101)]
随时随地看视频慕课网APP

相关分类

Python
我要回答