我有两个清单。用户写入一个单词,如果它存在于第一个列表中,则使用来自第二个列表的对应值。例如,它是第三个单词,在定义列表中它也是第三个单词。所以它应该打印定义列表中的第三件事。我无法在互联网上找到帮助。 我知道它与长度有关,但我不知道如何将用户对该列表的回答链接起来,然后打印相应的定义。
wordlist = ['zebra', 'piano', 'fly']
deflist = ['is an animal','is a musical instrument','is an insect']
lenwordlist = len(wordlist)
lendeflist = len(deflist)
word = wordlist(lenwordlist)
defl = deflist(lendeflist)
request = input("Write a word: ")
if request in wordlist:
print defl
endif
请帮忙
答案 0 :(得分:2)
如果要关联事物,请使用词典。
words = dict(
zebra = 'is an animal',
piano = 'is a musical instrument',
fly = 'is an insect'
)
words['zebra']
# = 'is an animal'
答案 1 :(得分:1)
endif
。缩进处理它def = ...
是SyntaxError: invalid syntax
len
不需要。您需要一个单词列表及其定义。这可以通过一对配对或一个字典来完成,这在我看来是更好的解决方案:
wordlist = ['zebra', 'piano', 'fly']
deflist = ['is an animal','is a musical instrument','is an insect']
d = dict((item, definition) for item,definition in zip(wordlist,deflist))
# If you have Python 2.7 + or Python3 you may use this syntax:
# d = {item: definition for (item, definition) in zip(wordlist,deflist)}
从这里你可以要求输入:
request = input("Write a word: ")
并检查你的字典:
if request in d:
print (d[request])
总而言之:
wordlist = ['zebra', 'piano', 'fly']
deflist = ['is an animal','is a musical instrument','is an insect']
d = dict((item, definition) for item,definition in zip(wordlist,deflist))
request = input("Write a word: ")
if request in d:
print (d[request])
答案 2 :(得分:0)
列表有一个索引方法,如下所示:
wordlist = ['zebra', 'piano', 'fly']
deflist = ['is an animal','is a musical instrument','is an insect']
request = input("Word: ")
if request in wordlist:
print(deflist[wordlist.index(request)])
然而,由于它在列表上重复两次
,因此效率很低答案 3 :(得分:0)
字典将键(单词)链接到值(定义)。语法如下:(不是唯一的)
words = {"zebra": "is an animal", "piano": "is a musical instrument", "fly": "is an insect"}
要获得定义,只需将密钥放在[]
:
words["zebra"] # will return "is an animal".
现在使用列表,您不应该查看项目的长度,而应该查看列表中项目的索引。
wordlist = ['zebra', 'piano', 'fly']
deflist = ['is an animal','is a musical instrument','is an insect']
列表索引从0
到len(list)-1
。方法index()
返回列表中项目的索引。
要获得"fly"
的定义,您可以这样做:
deflist[wordlist.index("fly")]
[]
中的元素是索引,此处wordlist.index("fly")
返回2
。因此deflist[2]
将返回正确的定义。
答案 4 :(得分:0)
试试这个;
wordlist = ['zebra', 'piano', 'fly']
deflist = ['is an animal','is a musical instrument','is an insect']
def some_func(word, sentence):
if word in wordlist:
sentence = sentence[wordlist.index(word)]
return word+' '+sentence
return "Word does not have a sentence in function"
word = input("Write a word: ")
print(some_func(word, deflist))
答案 5 :(得分:-3)
据我了解你是对的 - 你想要的,
如果给定的单词在wordlist
中
给我它的索引
如果deflist上存在给定的索引:
在deflist中打印在特定索引处找到的单词
但这将是非常低效的 - 更好地使用词典