列表推导中的'else'语句

ava*_*riu 0 python list-comprehension

我有一个变量,可以是一个字符串或一个元组(我不提前知道),我需要使用它作为列表.

基本上,我想将以下内容转换为列表理解.

variable = 'id'
final = []
if isinstance(variable, str):
    final.append(variable)
elif isinstance(variable, tuple):
    final = list(variable)
Run Code Online (Sandbox Code Playgroud)

我正在思考以下几行(这给我一个语法错误).

final = [var for var in variable if isinstance(variable, tuple) else variable]
Run Code Online (Sandbox Code Playgroud)

我已经看到了这个问题,但它不一样,因为提问者可以for在最后使用循环; 我的仅适用于它是一个元组.

注:我想列表理解,如果我用工作isinstance(variable, list)还有tuple一个.

Mat*_*hen 5

我想你想要:

final = [variable] if isinstance(variable, str) else list(variable)
Run Code Online (Sandbox Code Playgroud)