使用索引访问列表的字符串元素的第一个字母

时间:2014-04-22 19:40:52

标签: python list indexing

我正在使用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

2 个答案:

答案 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”通用名称是“垃圾邮件”,“鸡蛋”和“火腿”,但您应该选择更具描述性的名称。