我有一个变量,可以是字符串或元组(我不提前知道),我需要将其作为列表使用。
基本上,我想将以下内容转换为列表理解。
variable = 'id'
final = []
if isinstance(variable, str):
final.append(variable)
elif isinstance(variable, tuple):
final = list(variable)
我正在考虑下面的内容(这给我一个语法错误)。
final = [var for var in variable if isinstance(variable, tuple) else variable]
我见过这个question但是它不一样,因为提问者可以在最后使用for
循环;我的只适用于它是一个元组。
注意:如果我使用isinstance(variable, list)
以及tuple
,我希望列表理解能够正常工作。
答案 0 :(得分:5)
我想你想要:
final = [variable] if isinstance(variable, str) else list(variable)
答案 1 :(得分:2)
你只需重新安排一下。
final = [var if isinstance(variable, tuple) else variable for var in variable]
或许我误解了你真的想要
final = variable if not isinstance(variable, tuple) else [var for var in variable]