将键,值对从字典转换为字符串

时间:2019-10-30 13:25:30

标签: python dictionary

我有一个字典和一个字符串模板,需要用字典中的键,值对来填充。

例如,如果字典为{'a':'1','b':'2'},则我需要将字符串模板(键在值中)读取为:“ a在1中”,并且“ b在2中”

我需要遍历字典并将每个键,值对应用到字符串模板中。

5 个答案:

答案 0 :(得分:2)

您在这里。只需迭代键,值对并格式化模板即可。

mydict = {'a':'1', 'b':'2'}

for key, value in mydict.items():
    print('{} is in {}'.format(key, value))

输出:

a is in 1
b is in 2

如果您想获取格式化字符串的列表,请执行以下操作:

mylist = ['{} is in {}'.format(key, value) for key, value in mydict.items()]

mylist将是['a is in 1', 'b is in 2']

答案 1 :(得分:1)

您可以使用以下功能:

def fill(d, template):
    s = ""
    for k, v in d.items():
        s += f"{k} {template} {v}\n"
    return s[:-1]

>>> d = {'a':'1', 'b':'2'}
>>> print(fill(d, 'is in'))
a is in 1
b is in 2

请注意,这只会保留python 3.6+中的顺序。

答案 2 :(得分:1)

dictionary = {'a':'1', 'b':'2'}
template = '{} is in {}'
for key, value in dictionary.items():
    print(template.format(key, value))

会成功的

答案 3 :(得分:1)

您可能会幻想并使用itertools.starmap

from itertools import starmap

d = {'a': '1', 'b': '2'} 
list(starmap('{} is in {}'.format, d.items()))
# ['a is in 1', 'b is in 2']

答案 4 :(得分:0)

对于python 3.5+,您也可以使用f字符串:

d = {'a': '1', 'b': '2'}

print('\n'.join(f'{k} is in {v}' for k, v in d.items()))
a is in 1
b is in 2