【发布时间】:2020-04-24 02:20:39
【问题描述】:
我有一个字符串列表
X=['kmo','catlin','mept']
我正在尝试编写一个循环,该循环将返回一个列表,其中包含每个单词的第 N 个字母的列表:
[['k','c','m'], ['m','a','e'],['o','t','p']]
但我尝试的所有方法都只返回一个列表中连续返回的所有字母的列表:
['k','m','o','c','a','t','l','i'.....'t']
这是我的代码的一个版本:
def letters(X):
prefix=[]
for i in X:
j=0
while j < len(i):
while j < len(i):
prefix.append(i[j])
break
j+=1
return prefix
我知道我在每个单词中循环,但我不知道如何纠正它。
【问题讨论】:
-
长度比其他单词长的单词应该怎么办?
-
看起来你正在追求一种循环......你真的需要使用
while循环来做这个还是你可以使用:res = list(zip(*X))?如果您不关心@Sayse 建议的“丢失”某些数据,那将起作用 -
我认为很明显,预期的行为是在最短的字符串终止后停止,如预期输出所示
标签: python python-3.x string list loops