Python (for)和(if)条件的单行代码错误
将一个句子中的所有单词从存储在变量c中的特定字母开始反转的程序 我想知道单线和多线条件的区别 当我这样写的时候,它是有效的Python (for)和(if)条件的单行代码错误,python,Python,将一个句子中的所有单词从存储在变量c中的特定字母开始反转的程序 我想知道单线和多线条件的区别 当我这样写的时候,它是有效的 l = "word searches are super fun" c = 's' for i in l.split(): if i[0] == c: l = l.replace(i, i[::-1]) print(l) 这是错误的 l="word searches are super fun" c='s' l=l.replace
l = "word searches are super fun"
c = 's'
for i in l.split():
if i[0] == c:
l = l.replace(i, i[::-1])
print(l)
这是错误的
l="word searches are super fun"
c='s'
l=l.replace(i, i[::-1]) for i in l.split() if i[0]==c
print(l)
输出应该是
(单词sehcraes是repus fun)
但事实确实如此
(无效语法)不能在所有情况下为/if使用
。您可以在列表理解
(或类似内容)中使用它
您不能在所有情况下使用for/if
——只能在列表理解
和类似情况下使用。
l = "word searches are super fun"
c = 's'
# create list with new words - using list comprehension
l = [ i[::-1] if i[0]==c else i for i in l.split() ]
# concatenate list into one string
l = ' '.join(l)
print(l)