【问题标题】:Is there a better way to write out this long 'or' statement? [duplicate]有没有更好的方法来写出这个长长的“或”语句? [复制]
【发布时间】:2016-08-25 18:58:17
【问题描述】:

我写这样的东西时总觉得很乱:

if (subject == 'a') or (subject == 'e') or (subject == 'i') or (subject == 'o') or (subject == 'u'):

有没有更好的方法来编写这个不需要加载或循环的方法?

【问题讨论】:

  • if subject in 'aeiou':
  • @muddyfish 不完全相等,也会匹配多个字符,但if subject in list('aeiou'):不会。

标签: python


【解决方案1】:

你可以这样写

if subject in 'aeiou':

这是因为str 支持带有字符和子字符串的in 运算符。

请注意,这将允许通过 aeaeiou 和其他子字符串等内容。

if subject in tuple('aeiou'):

if subject in ('a','e','i','o','u'):

根据你的情况可能会更好

【讨论】:

  • 出于兴趣(我不是 python 专家),这是否会发出主题,比如“ae”?
  • @Bathsheba 不,它没有
  • 谢谢,点赞。有什么是python不能做的吗?
  • @Slayther 不是那种态度。如果你问得好,我相信它会的
  • @Farhan.K 哦,我忘了 DoTheDishes 模块
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-21
  • 1970-01-01
  • 2014-07-21
相关资源
最近更新 更多