小编Joe*_*Joe的帖子

在Python中合并2个词典

我有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中引用的同一城市相匹配.

python dictionary mutable

2
推荐指数
1
解决办法
1357
查看次数

将文本(单个字母)附加到文本文件中每行的末尾

下面是我正在使用的文本文件的示例:

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行开始,并在逗号之后追加行的最后一行,就像我上面提到的那样.

python csv text

2
推荐指数
1
解决办法
1万
查看次数

在python中组合两个不均匀的列表

我有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)

但得到一个错误

python dictionary list

0
推荐指数
1
解决办法
490
查看次数

标签 统计

python ×3

dictionary ×2

csv ×1

list ×1

mutable ×1

text ×1