如何在Python中循环函数中不同项的列表?
我刚刚开始学习Python中的函数。我的目标是循环一个水果列表,并为每个水果向后打印字母。当它击中一个特殊的角色时,它会停下来,然后移动到下一个水果。我试着用一个循环,每次都添加到索引中,但它只能正确地打印第一个水果。如果我只是把每个水果的代码放五次,它就完美地工作了。请帮我修改索引。代码如下如何在Python中循环函数中不同项的列表?,python,python-3.x,list,function,loops,Python,Python 3.x,List,Function,Loops,我刚刚开始学习Python中的函数。我的目标是循环一个水果列表,并为每个水果向后打印字母。当它击中一个特殊的角色时,它会停下来,然后移动到下一个水果。我试着用一个循环,每次都添加到索引中,但它只能正确地打印第一个水果。如果我只是把每个水果的代码放五次,它就完美地工作了。请帮我修改索引。代码如下 def reverse(li): c = 1 while c == 1: index = 0 for c in reversed(li[index]):
def reverse(li):
c = 1
while c == 1:
index = 0
for c in reversed(li[index]):
if c.isalpha():
print(c, end="")
index += 1
else:
print()
index += 1
break
fruits = ['ap!ple','bana@na','ma%ngo','#orange','pine*apple']
reverse(fruits)
您只在列表的第一个元素中循环(
reversed(li[index])
)
输出:
elp
an
ogn
egnaro
elppa
您只在列表的第一个元素中循环(
reversed(li[index])
)
输出:
elp
an
ogn
egnaro
elppa
您将
索引设置为0,因此只使用第一个条目。而且,c
在第一次迭代之后永远不等于1
,因此while循环只运行一次
最好创建一个新字符串,例如使用takewhile
并在for循环中打印所有单词:
from itertools import takewhile
def reverse(words):
for word in words:
print(''.join(takewhile(str.isalpha, reversed(word))))
fruits = ['ap!ple','bana@na','ma%ngo','#orange','pine*apple']
reverse(fruits)
您将索引设置为0,因此只使用第一个条目。而且,c
在第一次迭代之后永远不等于1
,因此while循环只运行一次
最好创建一个新字符串,例如使用takewhile
并在for循环中打印所有单词:
from itertools import takewhile
def reverse(words):
for word in words:
print(''.join(takewhile(str.isalpha, reversed(word))))
fruits = ['ap!ple','bana@na','ma%ngo','#orange','pine*apple']
reverse(fruits)
好。我还建议重命名变量:li
的更好名称是words
。ii
的更好名称是word
。那么单词中的单词就更容易阅读和理解了。我还建议重命名变量:li
的更好名称是words
。ii
的更好名称是word
。那么单词中的单词就更容易阅读和理解了。你是想把单词的第一部分颠倒过来还是第二部分颠倒过来?也就是说,如果你有'ap!ple'
您是否期望'pa'
或'elp'
?使用for循环在列表中的字符串上循环。不需要使用索引进行一段时间的循环。您是要反转单词的第一部分还是第二部分?也就是说,如果你有'ap!ple'
您是否期望'pa'
或'elp'
?使用for循环在列表中的字符串上循环。无需使用索引进行while循环