Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将字典转换成字符串_Python_String - Fatal编程技术网

Python 如何将字典转换成字符串

Python 如何将字典转换成字符串,python,string,Python,String,我正在尝试使用提供的解决方案 如何获得具有相同输出(即字符后跟出现次数)的字符串而不是字典 示例:d2m2e2s3一旦有了dict解决方案,只需使用join将它们连接成一个字符串: ''.join([k+str(v)代表k,v在result.iteritems()]) 您可以在数字之间使用任何分隔符(包括none)替换”,以将dict转换为所需格式的字符串: ''.join('{}{}'.format(key, val) for key, val in adict.items()) 如果要按键

我正在尝试使用提供的解决方案

如何获得具有相同输出(即字符后跟出现次数)的字符串而不是字典


示例:d2m2e2s3

一旦有了dict解决方案,只需使用join将它们连接成一个字符串:

''.join([k+str(v)代表k,v在result.iteritems()])


您可以在数字之间使用任何分隔符(包括none)替换
,以将dict转换为所需格式的字符串:

''.join('{}{}'.format(key, val) for key, val in adict.items())
如果要按键按字母顺序排列,请执行以下操作:

''.join('{}{}'.format(key, val) for key, val in sorted(adict.items()))
或者如果你想按字母顺序排列

>>> ''.join('%s%d' % (k,v) for k,v in sorted(result.iteritems()))
'd2f2g2q5w3'
或者如果你想让它们按递增的顺序排列

>>> ''.join('%s%d' % (k,v) for k,v in sorted(result.iteritems(),key=lambda x:x[1]))
'd2g2f2w3q5'

这就是你要找的吗

#!/usr/bin/python

dt={'d': 2, 'f': 2, 'g': 2, 'q': 5, 'w': 3}
st=""
for key,val in dt.iteritems():
    st = st + key + str(val)

print st
输出:
q5w3d2g2f2

还是这个

#!/usr/bin/python

dt={'d': 2, 'f': 2, 'g': 2, 'q': 5, 'w': 3}
dt=sorted(dt.iteritems())
st=""

for key,val in dt:
    st = st + key + str(val)

print st
输出:
d2f2g2q5w3

带有
连接的示例

#!/usr/bin/python

adict=dt={'d': 2, 'f': 2, 'g': 2, 'q': 5, 'w': 3}
' '.join('{0}{1}'.format(key, val) for key, val in sorted(adict.items()))

输出:
'd2f2 g2q5w3'

另一种方法,通过仅使用
join()
避免
%
插值(或
format()
):

''.join(''.join((k, str(v))) for k,v in mydict.items())

您希望字符串如何格式化?您能解释一下输入和输出吗?您是否试图从字典[25]中生成字符串:{'d':2,'f':2,'g':2,'q':5,'w':3}我希望输出为D2F2G2Q5W3所需的输出类型为:D2M2E2S3好的,我修改了答案以包含键(即字母)我希望在原始字符串中每次出现时都按顺序跟在字母后面。我希望在原始字符串中每次出现时都按顺序跟在字母后面。我尝试了python 2.6,ValueError:格式为零长度的字段名。Python3.6中的key,val在adict.items()中的格式(key,val)为:
'.join(在my_dict.items()中的k,v为f'{k}{v})
这不是最好的变体,因为列表理解和字符串与
join
的连接速度更快。我希望在原始字符串中出现的每个字母后面都跟在后面order@San4ez,我也添加了带有join的示例。我希望在原始字符串中每次出现时,字母后面都按顺序排列
''.join(''.join((k, str(v))) for k,v in mydict.items())