如何在Python中查找字符的位置并以相反的顺序列出位置?

如何在Python中查找字符的位置并以相反的顺序列出位置?,python,python-2.7,Python,Python 2.7,如何在python中获取字符串中字符的位置,并以相反的顺序列出位置?另外,如何使它在字符串中同时查找大写和小写字符 e、 g:如果我输入AvaCdefh,并查找“a”(大写和小写),然后返回a在初始字符串中的位置。在本例中,“a”位于0和2位置,因此如何使python将其返回为“2 0”(带空格)?这可以通过使用模块轻松实现: 。。。产生: '2 0' 在使用对的第二个答案中描述的方法构造字符串之前,列表会反转 您可以使用string.index()查找第一个字符 w= "AvaCdefh"

如何在python中获取字符串中字符的位置,并以相反的顺序列出位置?另外,如何使它在字符串中同时查找大写和小写字符


e、 g:如果我输入AvaCdefh,并查找“a”(大写和小写),然后返回a在初始字符串中的位置。在本例中,“a”位于0和2位置,因此如何使python将其返回为“2 0”(带空格)?

这可以通过使用模块轻松实现:

。。。产生:

'2 0'

在使用对的第二个答案中描述的方法构造字符串之前,列表会反转

您可以使用
string.index()
查找第一个字符

w= "AvaCdefh"
将字符串改为大写

print w.upper() #Output: AVACDEFH
将字符串改为小写

print w.lower() #Output: avacdefh
要使用python内置函数查找第一个charchter:

print w.lower().index('a') #Output: 0

print w.index('a') #Output: 2
def findChar(char):
    return " ".join([str(index) for index,c in enumerate(list(w.lower())) if char==c ])

def findCharInReversedWord(char):
    return " ".join([str(index) for index,c in enumerate(list(w[::-1].lower())) if char==c ])
print findChar('a')
print findChar('c')

print findCharInReversedWord('a')
颠倒一个词

print w[::-1] #Output: hfedCavA
但您可以使用理解列表来完成此操作:

char='a'
# Finding a character in the word
findChar= [(c,index) for index,c in enumerate(list(w.lower())) if char==c ]
# Finding a character in the reversed word 
inverseFindChar = [(c,index) for index,c in enumerate(list(w[::-1].lower())) if char==c ]


print findChar  #Output: [('a', 0), ('a', 2)]
print inverseFindChar #Output: [('a', 5), ('a', 7)]
另一种方法是使用lambda

l = [index for index,c in enumerate(list(w.lower())) if char==c ]
ll= map(lambda x:w[x], l)
print ll #Output: ['A', 'a']
然后,您可以将其包装为函数:

print w.lower().index('a') #Output: 0

print w.index('a') #Output: 2
def findChar(char):
    return " ".join([str(index) for index,c in enumerate(list(w.lower())) if char==c ])

def findCharInReversedWord(char):
    return " ".join([str(index) for index,c in enumerate(list(w[::-1].lower())) if char==c ])
print findChar('a')
print findChar('c')

print findCharInReversedWord('a')

虽然这似乎是一项艰巨的工作,但它比学习
re
模块要快。它还涵盖了python中的所有字符串操作。处理字符串在任何语言中都是非常重要的,但是python使它变得简单。