如何在列表中的元素中查找字符

2024-05-16 16:35:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图找到一种在列表中的元素中查找特定字符的方法。该程序用于检查输入字的第一个字母是否相同,如果相同,则输出“True”:

inp = input('Enter words: ')
inp2 = inp.split()
if inp2[0][len] in inp2[0][len]:
  print('True')

让它做这样的事情:

Enter word: beetle btleee
True

或:

Enter word: beetle tleeeb
False

Tags: 方法程序true元素列表inputlen字母
2条回答

您需要将第一个单词的第一个字符与inp2[0][0]进行比较,将第二个单词的第一个字符与inp2[1][0]进行比较。使用equals==运算符可以轻松地完成此操作

if inp2[0][0] == inp2[1][0]:
    print("First letters are equal") # or True
else:
    print("First letters are not equal") # or False

为了安全起见,您还应该确保inp2有两个单词。您可以使用if条件来执行此操作:

if len(inp2) == 2:
    if inp2[0][0] == inp2[1][0]:
        print("First letters are equal")
    else:
        print("First letters are not equal")
else:
    print("Please enter two words")

另外,打印"True"也不是必需的,因为您可以使用保留的布尔类型TrueFalse。有关更多信息,请参阅文档中的Built-in Constants

另一种方法是使用元组解包和try..catch异常处理:

inp = input('Enter words: ')

try:
    word1, word2 = inp.split()

    if word1[0] == word2[0]:
        print("First letters are equal")
    else:
        print("First letters are not equal")

except ValueError:
    print("Please enter only 2 words")

如果输入的单词超过两个,则捕获ValueError: too many values to unpack异常;如果输入的单词少于两个,则捕获ValueError: not enough values to unpack异常。有关如何处理错误/异常的更多信息,请参阅文档中的Handling Exceptions

您还可以将单词比较代码包装在返回bool的函数中:

def is_equal_first_letters(word1, word2):
    if word1[0] == word2[0]:
        return True
    else:
        return False

或者使用更简洁的语法:

def is_equal_first_letters(word1, word2):
    return word1[0] == word2[0]

然后在代码的其余部分调用函数:

inp = input('Enter words: ')

try:
    word1, word2 = inp.split()
    print(is_equal_first_letters(word1, word2))

except ValueError as ex: 
    print("Please enter only 2 words")

您可以查看本Python Functions教程以了解有关函数的更多信息

我希望这就是你的要求:

input1 = input('Enter the two words: ')
input2=input1.split()
def function(input2):
    if input2[0][0]==input2[1][0]:
        print('True')
    else:
        print('False')

function(input2)  #and then call the function.

相关问题 更多 >