用3个参数列出理解和语法错误

2024-09-28 05:25:40 发布

您现在位置:Python中文网/ 问答频道 /正文

问题是:

实现函数processList2(inputList, specialItem, ignoreItems),该函数返回一个新列表,其中包含inputList的所有项(并按原始顺序),除了

  1. 删除列表中出现的所有ignoreItems
  2. 出现的specialItem(如果specialItem不在ignoreItems)应该成为新列表中的字符串"special"。你知道吗

我正在尝试使用列表理解从inputList创建一个新列表。我可以得到items not in ignoreItems,但似乎不知道如何打印'特殊'如果item == specialItem。你知道吗

以下是我目前掌握的情况:

def processList2(inputList, specialItem, ignoreItems):
    return [item for item in inputList if item not in ignoreItems]

示例输出类似于:

>>> processList2([1,1,2,2], 1, [2])
['special', 'special']

或者

>>> processList2([1,2,3,4,True,'dog'], 4, [3,5,4])
[1, 2, True, 'dog']

Tags: 函数字符串intrue列表顺序notitems
1条回答
网友
1楼 · 发布于 2024-09-28 05:25:40

您可以在Python中使用三元运算符。你知道吗

def processList2(inputList, specialItem, ignoreItems):
    return [item if item != specialItem else "special" for item in inputList if item not in ignoreItems]

有关这个主题的更多信息,请参见this post。你知道吗

相关问题 更多 >

    热门问题