2014-04-28 88 views
0
list1 = [] 
list2 = [] 
list3 = [] 

elecStorage = [] 

elective = ["a", "b", "c", "d"] 
prereq = [] 

dict1 = { 
1: SEM1period1, 2: SEM1period2, 
3: SEM1period3, 4: SEM1period3, 
5: SEM1period5, 6: SEM1period6, 
7: SEM1period7, 8: SEM1period8 
} 

for key in dict1: 
    if len(dict1) < 1: 
     list1.append("Free Period") 
    elif key in list1: 
     break 
    elif key in elective: 
     elecStorage.append(key) 
    elif key in prereq: 
     list1.append(key) 

print elecStorage 
print list1 

注意:SEM1period1到SEM1period8都是早先通过的参数列表。查看存储在词典内部的列表内容

这段代码应该做的是搜索字典dict1的每个列表中的每个元素,并将其与诸如elective和prereq等其他列表的内容进行比较,然后将其附加到list1或elecStorage中。尽管当我告诉它打印出它时,[“a”,“b”,“c”,“d”]都应该被附加到elecStorage中,为什么?

在此先感谢。任何问题,我会澄清。我有点新手,所以对我轻松点。

回答

0

我做了你的目标很多假设,但是这可能至少帮助:

for key, dlist in dict1.items(): 
    if not dlist: 
     list1.append("Free Period") 
     continue 
    for item in dlist: 
     if item in list1: 
      continue 
     if item in elective: 
      elecStorage.append(item) 
     elif item in prereq: 
      list1.append(item) 
+0

你能解释这个块给我吗? – LucasGrillos