我有一个看起来像这样的字典:
d = {'a': 'b', 'c': 'd'}
现在,当我使用str(d)制作str时,我得到
>> "{'a': 'b', 'c': 'd'}"
但我需要它看起来像这样:
>> "a=b; c=d; "
我创建了这段代码来做到这一点:
b = ''
for k, v in d.items():
b += str(k) + '=' + str(v) + '; '
有没有一种方法可以达到相同的效果,但是可以使用内联操作或其他更整洁的方法来实现,而无需使用for循环?
最佳答案
她是使用''.join()
的另一种方式:
';'.join(map('='.join, d.items()))
返回值:
'a=b;c=d'
假设最后一个
;
是多余的。如果没有,您将获得“精确”输出,如下所示:''.join([f'{k}={v}; ' for k,v in d.items()])
时间:
%timeit ';'.join(map('='.join, d.items())) #1000000 loops,best of 3: 810 ns per loop
%timeit ';'.join(['='.join(x) for x in d.items()]) #1000000 loops,best of 3: 956 ns per loop
%timeit ';'.join([f'{k}={v}' for k,v in d.items()]) #1000000 loops,best of 3: 872 ns per loop
关于python - 用python中的字典制作字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54873565/