我有一个for循环,它运行在一个CSV文件中,获取某些元素,并基于两个变量创建一个字典
代码:
for ind, row in sf1.iterrows():
sf1_date = row['datekey']
sf1_ticker = row['ticker']
company_date[sf1_ticker] = [sf1_date]
例如,在for循环的第一次迭代中,sf1_ticker = 'AAPL'
和sf1_date = '2020/03/01'
,下一次,sf1_ticker = 'AAPL'
和sf1_date = '2020/06/01'
,我如何使字典中的'AAPL'键等于['2020/03/01', '2020/06/01']
您可以创建一个新词典,并将日期添加到列表中(如果存在)。否则,创建条目
您可以使用defaultdict,它可以设置为向任何不存在的项添加空列表。否则,它的作用通常类似于词典
看起来,当你说“键”时,你实际上是指“值”。字典的键是用来在字典中查找值的东西。在您的情况下,ticker是键,日期列表是值,例如,您需要一个如下所示的字典:
这里的字符串AAPL和MSFT是字典键。日期列表是与每个键关联的值
您的代码无法构造这样的字典,因为它正在为键分配新值。以下代码将在字典
company_date
中创建一个新的键(如果该键在字典中不存在),或者在该键已存在的情况下替换现有值(如果该键已存在):您需要附加到dict中的值列表,而不是替换当前列表(如果有)。有两种方法可以做到这一点^{} 是一个:
另一种方法是使用^{} 列表:
相关问题 更多 >
编程相关推荐