所以我从主页中获取此信息,我在方法“getPersInfo(ID)”中输入了dictinary。
当我想用以下代码制作词典列表时:
person_dict = {"PERS_ID": 'ini', "PERS_FIRSTNAME": 'ini',"PERS_NAME": 'ini',"PERS_TITLE": 'ini' ,"SITE_ID": 'ini',"PERS_COUNTRY": 'ini'}
listOfPersons = []
for a in range(5,8):
listOfPersons.append(getPersInfo(a))
print getPersInfo(a)
print listOfPersons
我得到了这个输出: (5,8只是随机的)
{'PERS_COUNTRY': 'EE', 'SITE_ID': 'null', 'PERS_ID': '5', 'PERS_FIRSTNAME': 'null', 'PERS_TITLE': 'null', 'PERS_NAME': 'null'}
{'PERS_COUNTRY': 'EE', 'SITE_ID': 'null', 'PERS_ID': '6', 'PERS_FIRSTNAME': 'null', 'PERS_TITLE': 'null', 'PERS_NAME': 'null'}
{'PERS_COUNTRY': 'EE', 'SITE_ID': '1101', 'PERS_ID': '7', 'PERS_FIRSTNAME': 'null', 'PERS_TITLE': 'null', 'PERS_NAME': 'null'}
[{'PERS_COUNTRY': 'EE', 'SITE_ID': '1101', 'PERS_ID': '7', 'PERS_FIRSTNAME': 'null', 'PERS_TITLE': 'null', 'PERS_NAME': 'null'},
{'PERS_COUNTRY': 'EE', 'SITE_ID': '1101', 'PERS_ID': '7', 'PERS_FIRSTNAME': 'null', 'PERS_TITLE': 'null', 'PERS_NAME': 'null'},
{'PERS_COUNTRY': 'EE', 'SITE_ID': '1101', 'PERS_ID': '7', 'PERS_FIRSTNAME': 'null', 'PERS_TITLE': 'null', 'PERS_NAME': 'null'}]
所以...我基本上只是在迭代时间的情况下得到最后一行的金额。 (已针对其他案例进行了测试)
什么可以解释这一点,打印时输出是否正确?
是否附加到我的列表中?
答案 0 :(得分:1)
它主要是在黑暗中拍摄,因为您的信息非常稀疏,但看起来您只更新了一个dict
对象,将其与getPersInfo
一起返回,然后将其附加到列表中。所以你有一个包含三个相同对象的列表。您可以使用listOfPersons[0] is listOfPersons[1]
进行测试。
无论如何,如果您附加了返回的dict
的副本,则不会发生这种情况:
listOfPersons = []
for a in range(5,8):
listOfPersons.append(dict(getPersInfo(a)))
print getPersInfo(a)
print listOfPersons