我有一个dict
x = {'[a]':'(1234)', '[b]':'(2345)', '[c]':'(xyzad)'}
现在我想将键附加在值之前,所以我的预期输出是:
{'[a]': '[a](1234)', '[b]': '[b](2345)', '[c]': '[c](xyzad)'}
我可以使用for
循环来完成此操作,如下所示:
for k,v in x.items():
x.update({k:k+v})
我正在寻找有效的方法,还是应该坚持目前的做法?
答案 0 :(得分:5)
您的方法似乎很好。您还可以使用字典理解,以获得更简洁的解决方案:
x = {'[a]':'(1234)', '[b]':'(2345)', '[c]':'(xyzad)'}
{k: k+v for k,v in x.items()}
# {'[a]': '[a](1234)', '[b]': '[b](2345)', '[c]': '[c](xyzad)'}
答案 1 :(得分:0)
另一种方式:
x = {'[a]':'(1234)', '[b]':'(2345)', '[c]':'(xyzad)'}
dict(((key, key + x[key]) for key in x))
>>>{'[a]': '[a](1234)', '[b]': '[b](2345)', '[c]': '[c](xyzad)'}
答案 2 :(得分:0)
对于较小型的词典,dictionary comprehension
的{{1}}解决方案是最好的。
由于您提到数据集很大,并且您希望避免出现@yatu
循环,因此推荐使用for
。
代码:
pandas
对于大型数据集,这会更快,但我不确定如何比较时间。