如何在python中向字典添加特定信息

时间:2016-02-11 09:46:14

标签: python dictionary

我有一个列表,我要求用户在列表中插入一些单词。我比较他输入的单词并检查它们是否存在于第一个字典中(如果没有,我删除该单词)。

现在,我希望在特定的日子里输入他所说的每一句话。 (例如,在第一次迭代中,id输入test1 test2我应该有一个类似0: test1 test2的字典,如果他将test0输入,则进行第二次迭代有1: test0

问题在于,在第二次迭代中,我得到了所有内容:1: test1 test2 test0。我该如何解决这个问题?

import itertools

my_list1 = []
my_first_list = ["test", "test1", "test2"]

zile_muschi = {}
for i in range(0, 2):
    day = str(input("Day" + str(i) + "(spaces between words):"))
    my_list1.append(day)
    combined = list(itertools.chain(*map(str.split, my_list1)))

    for element in combined:
        if element not in my_first_list:
            print("Word: " + element + " is not correct!")
            combined.remove(element)
    zile_muschi[i] = combined
print(zile_muschi)

2 个答案:

答案 0 :(得分:0)

您应该在周期内初始化临时列表。只需进行少量更改,您的代码就会如下所示:

import itertools

my_first_list = ["test", "test1", "test2"]

zile_muschi = {}
for i in range(0, 2):
    my_list1 = []
    day = str(input("Day" + str(i) + "(spaces between words):"))
    my_list1.append(day)
    combined = list(itertools.chain(*map(str.split, my_list1)))

    for element in combined:
        if element not in my_first_list:
            print("Word: " + element + " is not correct!")
            combined.remove(element)
    zile_muschi[i] = combined
print(zile_muschi)

答案 1 :(得分:0)

如何在追加之前添加一个清除,就像这样:

my_list1.clear()

行之前:

my_list1.append(day)