将for循环转换为单个表达式列表行的方法

时间:2019-02-06 05:37:49

标签: python

我希望将包含if和else的for循环转换为单个列表表达式行。

for k,v in zip(str+letters, str+letterb):
  if v in "aeiou":
    d[k] = v.upper()
  else:
    d[k] = v.lower()

一行。输出无所谓,因为这样的话我的代码是正确的

1 个答案:

答案 0 :(得分:1)

您可以使用字典理解

d = {k: (v.upper() if v in "aeiou" else v.lower()) for k,v in zip(str+letters, str+letterb)}