微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何获得字符在Python中的位置并将其存储在变量中?

如何解决如何获得字符在Python中的位置并将其存储在变量中?

我正在寻找一种将字符的位置整数存储到变量中的方法,但是现在我正在使用一种在Delphi 2010中使用的方法,根据Jupyter Notebook的说法,这是不正确的

这是我到目前为止的代码

def animal_crackers(text):
    for index in text:
        if index==' ':
            if text[0] == text[pos(index)+1]:
                return True
            else:
                return False
        else:
            pass

目标是获得两个单词(单词+空格+单词),如果两个单词的开头字母匹配,则必须显示True,否则显示False

解决方法

要获取字符串中字母的索引(标题要求),请使用str.index()str.find(),如果您不想在字母/子字符串出现错误的情况下使用找不到:

>>> text = 'seal sheep'
>>> text.index(' ')
4

但是对于您的程序,如果要标识第一个和第二个单词,则无需使用str.index。而是使用str.split()将给定的文本分成子字符串列表:

>>> words = text.split()  # With no arguments,splits words by whitespace
>>> words
['seal','sheep']

然后,您可以获取第一个单词的字母,然后检查第二个单词是否以相同的字母开头:

# For readability,you can assign the two words into their own variables
>>> first_word,second_word = words[0],words[1]
>>> first_word[0] == second_word[0]
True

组合成一个函数,可能看起来像这样:

def animal_crackers(text):
    words = text.split()
    first_word,words[1]

    return first_word[0] == second_word[0]
,

假定文本是包含两个单词的一行:

def animal_crackers(text):
   words = text.split()
   if len(words)== 1:
      break # we only have one word!
   # here,the .lower() is only necessary is the program is NOT case-sensitive
   # if you do care about the case of the letter,remove them
   if word[0].lower() == words[1][0].lower():
         return True
   else:
         return false

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。