我有一个列表,我要求用户在列表中插入一些单词。我比较他输入的单词并检查它们是否存在于第一个字典中(如果没有,我删除该单词)。
现在,我希望在特定的日子里输入他所说的每一句话。 (例如,在第一次迭代中,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)
答案 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)