我正在使用Python(3.x)进行编程,并且我想查看字符串列表,检查以下列表元素的第一个字母是否为小写(然后加入当前和后续元素)。
我的问题是如何访问以下列表元素的第一个字母。 我尝试了“list [i + 1] [0]”和“(list [i + 1])[0]”,但都没有奏效。 有没有办法用索引解决这个问题,还是有函数?
我的代码看起来有点像这样:
i=0
while i<len(list)
if list[i+1][0].islower():
list[i].append(list[i+1])
i=i+1
答案 0 :(得分:1)
您可以遍历对,每对包含当前元素和列表的下一个元素:
for cur, nxt in zip(myList, myList[1:]):
if nxt[0].islower():
#do something in the case the next element starts with a lowercase letter
continue
#do something otherwise
现在关于加入的问题,我不认为需要有一个预见缓冲区。我希望以下代码具有所需的行为:
myList = ['one', 'two', 'Three', 'four', 'Five']
outList = []
for ele in myList:
if ele and ele[0].islower() and outList:
outList[-1] += ele
continue
outList.append(ele)
print(outList)
答案 1 :(得分:0)
你有边界问题。如果i = len(list) - 1,则列表[i]在列表中,但list [i + 1]与列表[len(list)]相同,列表中不在列表中。由于list [len(list)-1]之后没有元素,所以它应该退出循环。
尝试while i < len(list) - 1
另请注意,list
是Python中的一个特殊术语。不要将列表命名为“列表”。变量的“Pythonic”通用名称是“垃圾邮件”,“鸡蛋”和“火腿”,但您应该选择更具描述性的名称。