Python 如何解决列表理解语法错误?
在上面的代码片段中,我需要使用列表理解将我的名字的字符附加上一个。例如,在上面的示例中,预期结果是testPython 如何解决列表理解语法错误?,python,list-comprehension,Python,List Comprehension,在上面的代码片段中,我需要使用列表理解将我的名字的字符附加上一个。例如,在上面的示例中,预期结果是test 但是,我得到了无效的语法作为错误。如果您对此有任何见解,我们将不胜感激。谢谢您已经切换了for和if else的位置;当存在else时,if-else应位于for之前。如果没有其他方法,您的代码将是完美的。以下是您的代码的固定版本: my_string = test def func_2(my_string): return [i+"*" for i in my_string if
但是,我得到了无效的语法作为错误。如果您对此有任何见解,我们将不胜感激。谢谢您已经切换了for和if else的位置;当存在else时,if-else应位于for之前。如果没有其他方法,您的代码将是完美的。以下是您的代码的固定版本:
my_string = test
def func_2(my_string):
return [i+"*" for i in my_string if i!=my_string[len(my_string) - 1] else i]
print(func_2(my_string.copy()))
查看有关语法和用法的更多详细信息。您的意思是[i+*if i!=my_string[lenmy_string-1]或者i for i in my_string]?请参阅筛选子句中没有其他内容。如果您不需要使用条件表达式,请将其放在主部分删除else扩展下面的答案也很好注意,您可以使用索引-1引用列表中的最后一个元素,并且可以使用fstrings向变量添加字符:[f{c}*If c!=s[-1]else c for c in s]
def func_2(my_string):
return [i+"*" if i!=my_string[len(my_string) - 1] else i for i in my_string]