我有2本词典.
dict1={('SAN RAMON', 'CA'): 1, ('UPLAND', 'CA'): 4, ('POUGHKEESIE', 'NY'): 3, ('CATTANOOGA', 'TN'): 1}
dict2={('UPLAND', 'CA'): 5223, ('PORT WASHING', 'WI'): 11174, ('PORT CLINTON', 'OH'): 6135, ('GRAIN VALLEY', 'MO'): 10352, ('GRAND JUNCTI', 'CO'): 49688, ('FAIRFIELD', 'IL'): 5165}
Run Code Online (Sandbox Code Playgroud)
这些只是样本,实际上每个dict都有数百个条目.我正在尝试合并两个字典并创建包含{dict1.values():dict2.values()}的字典3,但前提是该字母出现在两个字典中.所以,dict3中的一个条目看起来像
{4:5223} # for 'UPLAND', 'CA' since it appears in both dict1 and dict2
Run Code Online (Sandbox Code Playgroud)
这只是我写的更大功能中的一小步.我打算尝试类似的东西:
for item in dict1.keys():
if item not in dict2.keys():
del item
return dict[(dict1.keys())=(dict2.keys())]
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何确保来自dict1的投诉数量与dict2中引用的同一城市相匹配.
下面是我正在使用的文本文件的示例:
437868313,2436413,Wyatt,Trenton,08/21/2003,211000010262002,211000010262002,2014,01,54435A000,510,Social Studies (Grade 5),08/14/2013,5-2,02,0,02,02,01,,,,,,100,05/29/2014,
437868313,2436413,Wyatt,Trenton,08/21/2003,211000010262002,211000010262002,2014,01,53235A000,500,Science (Grade 5),08/14/2013,5-2,02,0,02,02,01,,,,,,100,05/29/2014,
437868313,2436413,Wyatt,Trenton,08/21/2003,211000010262002,211000010262002,2014,01,58035A000,560,Physical Education (Grade 5),08/14/2013,5-2,02,0,02,02,01,,,,,,1,05/29/2014,
Run Code Online (Sandbox Code Playgroud)
我试图简单地将字母'S'添加到每一行的末尾.所以,上面有3条记录.在2014年5月29日之后,我想插入S.所以每条记录看起来像:
437868313,2436413,Wyatt,Trenton,08/21/2003,211000010262002,211000010262002,2014,01,54435A000,510,Social Studies (Grade 5),08/14/2013,5-2,02,0,02,02,01,,,,,,100,05/29/2014,S
Run Code Online (Sandbox Code Playgroud)
我意识到这将是如此简单的转换为CSV和使用excel,但我在传输回到txt时遇到各种格式问题.想用python来解决它.我正在尝试使用append,据我所知,write会覆盖我现有的文件:
myFile = open("myFile.txt", "a")
for line in myFile:
myFile.write('S')
Run Code Online (Sandbox Code Playgroud)
我不经常使用python,我想知道我如何索引它所以它从第2行开始,并在逗号之后追加行的最后一行,就像我上面提到的那样.
我有2个清单.一个看起来像
['jim', 'bob', 'mike', 'kim', 'Alex']
Run Code Online (Sandbox Code Playgroud)
而另一个看起来像
['YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'NO', 'NO', 'NO', 'NO', 'NO', 'NO', 'NO', 'NO', 'YES', 'NO', 'YES', 'NO']
Run Code Online (Sandbox Code Playgroud)
列表1中的每个名称对应于列表2中的前6个项目.因此,jim ='YES','YES','YES','YES','YES','YES'和Alex ='NO','NO ','是','不','是','不'.有没有办法将这两个列表合并成一个字典?
我打算写一个像这样的函数
def people():
List1[0]=List2[0:6]
Run Code Online (Sandbox Code Playgroud)
但那会改变List1.我试过了
dict(List1[0]: List2[0:6])
Run Code Online (Sandbox Code Playgroud)
但得到一个错误