python两个字典合并、相同的键不同的值_在python中使用相同的键合并两个列表字典...

这篇博客探讨了如何在Python中合并两个字典,特别是当它们有相同键但不同值时,如何将这些键的值交替合并成一个新的列表。作者尝试了使用压缩和defaultdict的方法,但遇到了顺序和连接字符串的问题。最终目标是将DNA序列片段连接在一起。
摘要由CSDN通过智能技术生成

我的问题:

我正在尝试将两个列表词典合并到一个新词典中,为每个键交替2个原始列表的元素,以创建该键的新列表.

例如,如果我有两个词典:

strings = {'S1' : ["string0", "string1", "string2"], 'S2' : ["string0", "string1"]}

Ns = {'S1' : ["N0", "N1"], 'S2' : ["N0"]}

我想合并这两个词典,以便最终字典看起来像:

strings_and_Ns = {'S1': ["string0", "N0", "string1", "N1", "string2"], 'S2': ["string0", "N0", "string1"]}

或者更好的是,让列表中的字符串为每个键连接在一起,例如:

strings_and_Ns = {'S1': ["string0N0string1N1string2"], 'S2': ["string0N0string1"]}

(我正在尝试将DNA序列片段连接在一起.)

到目前为止我尝试过的:

压缩

for S in Ns:

newsequence = [zip(strings[S], Ns[S])]

newsequence_joined = ''.join(str(newsequence))

strings_and_Ns[species] = newsequence_joined

这不会将序列连接成一个字符串,并且字符串的顺序仍然不正确.

使用defaultdict

from collections import defaultdict

strings_and_Ns = defaultdict(list)

for S in (strings, Ns):

for key, value in S.iteritems():

strings_and_Ns[key].append(value)

这个字符串的顺序也是不正确的……

以某种方式移动每个键的列表……

for S in strings:

list = strings[S]

L = len(list)

for i in range(L):

strings_and_Ns[S] = strings_and_Ns[S] + strings[S][i] + strings[S][i]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值