连接 python 字典中的键值对
concatenate key value pairs from python dictionary
我在 python 中有一本字典。键和值都是字符串。事实上,键是某种标志(如 -f
),值是选项(例如 20
之类的整数)。我想要做的是创建一个包含所有键和值的字符串。
字典可能看起来像这样:
{'-f': 20, '-d': 30}
我想要的是这样的:
"-f 20 -d 30"
我认为这应该是一件容易的事,但直到现在我都找不到解决方案...
这是一种使用列表理解的方法:
d = {'-f': 20, '-d': 30}
' '.join([i for k,v in d.items() for i in [k, str(v)]])
# '-f 20 -d 30'
相当于:
out = []
for k,v in d.items():
for i in [k, str(v)]:
out.append(i)
' '.join(out)
# '-f 20 -d 30'
一次尝试:
s = ''
for k, v in dct.items():
s += k + ' ' + str(v) + ' '
# remove the last character, an unnecessary space
s = s[:-1]
您可以将 str.join
与 generator expression 一起使用:
d = {'-f': 20, '-d': 30}
' '.join(str(e) for t in d.items() for e in t)
# '-f 20 -d 30'
我在 python 中有一本字典。键和值都是字符串。事实上,键是某种标志(如 -f
),值是选项(例如 20
之类的整数)。我想要做的是创建一个包含所有键和值的字符串。
字典可能看起来像这样:
{'-f': 20, '-d': 30}
我想要的是这样的:
"-f 20 -d 30"
我认为这应该是一件容易的事,但直到现在我都找不到解决方案...
这是一种使用列表理解的方法:
d = {'-f': 20, '-d': 30}
' '.join([i for k,v in d.items() for i in [k, str(v)]])
# '-f 20 -d 30'
相当于:
out = []
for k,v in d.items():
for i in [k, str(v)]:
out.append(i)
' '.join(out)
# '-f 20 -d 30'
一次尝试:
s = ''
for k, v in dct.items():
s += k + ' ' + str(v) + ' '
# remove the last character, an unnecessary space
s = s[:-1]
您可以将 str.join
与 generator expression 一起使用:
d = {'-f': 20, '-d': 30}
' '.join(str(e) for t in d.items() for e in t)
# '-f 20 -d 30'