Python、列表、索引

Python、列表、索引,python,list,indexing,Python,List,Indexing,我正在尝试为我的python课程编写一个小程序(自学),有点像使用列表的字典。一个列表中有一个短语/单词,另一个列表中有该短语/单词的含义。通过用户输入,用户可以键入他们正在搜索的单词,并显示单词的含义。我很难把意思表达出来。我的代码如下:“aldo”是我的第一个输入(单词),“我的名字”是我的第二个输入(意思) .index()查找索引,而不是值 您的意思是使用表示[搜索索引] 另外,要添加到列表中,最好使用。append(value)而不是+[value] user_word = input

我正在尝试为我的python课程编写一个小程序(自学),有点像使用列表的字典。一个列表中有一个短语/单词,另一个列表中有该短语/单词的含义。通过用户输入,用户可以键入他们正在搜索的单词,并显示单词的含义。我很难把意思表达出来。我的代码如下:“aldo”是我的第一个输入(单词),“我的名字”是我的第二个输入(意思)

.index()
查找索引,而不是值

您的意思是使用
表示[搜索索引]

另外,要添加到列表中,最好使用
。append(value)
而不是
+[value]

user_word = input("Enter word: ")
user_meaning = input("Enter Meaning: ")

word.append(user_word.strip())
meaning.append(user_meaning)

user_search = input("What word/phrase would you like to search: ")
search_index = word.index(user_search.strip())
print(user_search + " " + meaning[search_index])

如果您正在尝试创建字典,您可以使用字典来存储单词和词义,而不是列表,然后再使用它来搜索单词(要了解有关字典的更多信息,您可以查看)

您可以尝试以下操作:

my_dictionary = {} # dictionary to store word and meaning

user_word = input("Enter word: ").lower() # .lower() for not being case sensitive
user_meaning = input("Enter Meaning: ").lower() # .lower()

# add word and meaning to dictionary
my_dictionary[user_word] = user_meaning

# search word
user_search = input("What word/phrase would you like to search: ").lower()
print("Meaning of {0} is: {1}".format(user_search, my_dictionary[user_search]))

您的代码中存在一些错误/问题

  • 打印空列表,不确定这是否用于检查调试,但在向列表添加值之前打印列表,因此它们将始终为空。所以我假设你想在这里打印用户的输入;如果没有,则首先附加值,然后打印列表

  • 使用
    list.append(item)
    代替
    list=list+[item]

  • means.index(search\u index)
    应该是
    means[search\u index]
    as
    list.index(item)
    返回列表中该项第一次出现的索引值,而不是值本身

  • 最后,不是很重要,但更重要的是可读性问题,确保单词和意思之间有一个空格或某种消除器

  • 以下是假设预期行为的代码:

    word = []
    meaning = []
    
    user_word = input("Enter word: ")
    user_meaning = input("Enter Meaning: ")
    print(user_word)
    print(user_meaning)
    
    word.append(user_word)
    meaning.append(user_meaning)
    
    print(word)
    print(meaning)
    
    user_search = input("What word/phrase would you like to search: ")
    print(user_search)
    search_index = word.index(user_search)
    print(user_search,  meaning[search_index])
    

    你说的“我有麻烦”是什么意思?输出不是你所期望的吗?错误消息?预期的输出是什么?它说输入的“单词”不在列表中如果我不得不猜测,它说的是类似“ValueError:3不在列表中”的内容。您应该提供一个,其中包括错误消息的完整回溯。请尝试将最后一行更改为
    print(user\u search+意为[search\u index])
    它表示输入“word”不在列表中。我们无法看到您的输入值来告诉您这是真的“File”/home/khalid/Desktop/MiniProject2/khalid\u ahmed.py,第13行,在search\u index=word中。索引(用户搜索)值错误:“aldo”不在列表中“是我得到的确切错误如果这解决了你的问题,那么使用帖子旁边的复选标记接受它。你可能对这个问题感兴趣-嗨,赛义夫,谢谢你指出我在打印空列表。谢谢你的帮助。永远学习!
    word = []
    meaning = []
    
    user_word = input("Enter word: ")
    user_meaning = input("Enter Meaning: ")
    print(user_word)
    print(user_meaning)
    
    word.append(user_word)
    meaning.append(user_meaning)
    
    print(word)
    print(meaning)
    
    user_search = input("What word/phrase would you like to search: ")
    print(user_search)
    search_index = word.index(user_search)
    print(user_search,  meaning[search_index])