当前位置: 首页 > 面试题库 >

是否可以在列表理解中使用“ else”?[重复]

吴子昂
2023-03-14
问题内容

这个问题已经在这里有了答案

如果/否则列表理解
(11个答案)

去年关闭。

这是我试图变成列表理解的代码:

table = ''
for index in xrange(256):
    if index in ords_to_keep:
        table += chr(index)
    else:
        table += replace_with

有没有一种方法可以将else语句添加到此理解中?

table = ''.join(chr(index) for index in xrange(15) if index in ords_to_keep)

问题答案:

语法a if b else c是Python中的三元运算符,a其条件b为true;否则为c。可以在理解语句中使用:

>>> [a if a else 2 for a in [0,1,0,3]]
[2, 1, 2, 3]

因此,对于您的示例,

table = ''.join(chr(index) if index in ords_to_keep else replace_with
                for index in xrange(15))


 类似资料:
  • 我试图创建一个列表,其中偶数显示为原样,奇数显示为“奇数”。 这是我正在尝试的代码。 我希望得到这样的东西 但我不断收到语法错误异常: 我做错了什么?

  • 问题内容: 基本上,我有一个react组件,其功能主体如下:(这是我的理想组件,这意味着它当前不起作用) 问题答案: 不完全一样,但是有解决方法。在React的文档中有一节关于条件渲染,您应该看一下。这是使用内联if-else可以做什么的示例。 您也可以在render函数中处理它,但是要在返回jsx之前。 还值得一提的是ZekeDroid在评论中提到的内容。如果您只是检查条件而又不想呈现不符合要求

  • 问题内容: 如何在Python中执行以下操作? 实质上: 用空字符串替换所有的None,然后 执行功能。 问题答案: 你可以完全做到这一点,这只是一个订购问题: 一般来说, 而且,if仅对于具有条件的列表理解而言, 请注意,这实际上使用了一种不同的语言构造,即条件表达式,它本身不是理解语法的一部分,而ifafter则for…in是列表理解的一部分,用于从可迭代的源中筛选元素。 条件表达式可用于各种

  • 在模板中使用自定义管道时,如下所示: 而且效果很好。 但它表明 用户名未定义

  • 问题内容: 我已经阅读了关于此的所有问题,但仍然没有找到答案。因此,请勿将其标记为重复项。 我正在将AngularFire与Angular 2和Typescript一起使用。我正在使用从端点提取24条最近记录的列表。这是我的代码: 如预期的那样,这将返回24个最新故事的列表,但是当我使用以下命令将它们呈现在页面上时: 它在顶部显示最旧的故事,在底部显示最新的故事。我了解为什么会这样,但我并不是说这

  • 问题内容: 我正在使用python 2.7,并尝试在自己的进程中运行一些CPU繁重的任务。我希望能够将消息发送回父流程,以使其随时了解流程的当前状态。为此,多处理队列似乎很完美,但我不知道如何使它工作。 因此,这是我的基本工作示例,减去了Queue的使用。 我尝试以几种方式传递队列,它们收到错误消息“ RuntimeError:队列对象仅应通过继承在进程之间共享”。这是我根据之前发现的答案尝试的一