【问题标题】:Properly getting the output when word does not exist in a list and a list of tuples also when a word already exists in a tuple list当单词在列表和元组列表中不存在时正确获取输出,当单词已经存在于元组列表中时
【发布时间】:2017-09-24 17:56:04
【问题描述】:

所以我正在编写关于列表和元组的代码。但是如果列表中缺少单词,我无法弄清楚如何正确打印代码。 (它不断打印出列表的整个长度并用不存在的单词填充)

就像列表中有 3 个单词和 3 个描述一样,当查找不在列表中的单词时,输出变为

“单词不存在”

“单词不存在”

“单词不存在”

而且它只是为了打印一次文本。

def upkollning(lista):
   print ', '.join(lista[0])
   ord_val = raw_input("What word do you wanna look up?: ")
   for x in range(0, len(lista[0])):
       if lista[0][x] == ord_val:
           print lista[1][x],"\n"               
       else:
            if ord_val not in lista[0]:
                print "word does not exist"

第二个问题我不知道在添加一个已经存在的单词时如何让“单词已经存在”出现。它只是跳过了整个事情,只是继续将已经存在的单词放入元组列表中。

def tuplist():
tuplist = [("pancakes","something for breakfast")]
return tuplist
def instoppning2tup(tuplelista):
   word = raw_input("Type the word: ")
   #desc = raw_input("Type the description: ")
   if word in tuplelista:
      print "word already exists"

   else:
        desc = raw_input("Give descrption to the word: ")
        tuplelista.append( (word,desc) )

   return tuplelista

第三个问题与第一个问题相同,对于元组列表包含的每个“单词”,我都得到“单词不存在”。

def upkollning2tup(tuplelista):
   for x in range(0, len(tuplelista)):
           print tuplelista[x][0],    
   ord_val = raw_input("\nWhat word do you wanna look up?: ")
   for x in range(0, len(tuplelista)):
       if tuplelista[x][0] == ord_val:
           print tuplelista[x][1],"\n"
       else:
           print "Word doesn't exist"

那么这里有人愿意帮忙吗?

【问题讨论】:

  • 您应该分别询问三个问题,因为每个问题都使用不同的代码。检查FAQHow to Ask

标签: python list tuples


【解决方案1】:

首先,您需要一个查找表。因此,您应该使用字典而不是元组列表。但要回答您的问题:

1) 查看问题 3 的答案

2) word 永远不会在 tuplelista 中,因为 word 是一个字符串并且永远不会等同于列表中的元组。而是使用if word in list(zip(*tuplelista))[0]

3) 宁可做

def upkollning2tup(tuplelista):
    #for x in range(0, len(tuplelista)):
    #    print tuplelista[x][0],    
    ord_val = raw_input("\nWhat word do you wanna look up?: ")
    if ord_val in list(zip(*tuplelista))[0]:
        print "Word doesn't exist"
    else:
        for elem in tuplelista:
            if elem[0] == ord_val:
                print elem[1]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-14
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-08
    • 1970-01-01
    相关资源
    最近更新 更多