在 python 字典中打印值时的间距

Spacing when printing values in a python dictionary

我想打印字典中的值而没有任何间距。

这是对我的代码的测试:

d = {}
d["char12"] = "test"
d["char22"] = "test"
print d["char12"],
print d["char22"]

输出是

test test

但我需要它是:

testtest

有没有办法删除自动间距?

谢谢!

选项 1:合并打印语句

print d["char12"]+d["char22"]

选项 2:使用 stdout.write

import sys
...
sys.stdout.write(d["char12"]) # write without a separator
print d["char22"]

一种方式:

import sys
d = {}
d["char12"] = "test"
d["char22"] = "test"
sys.stdout.write(d["char12"])
sys.stdout.write(d["char22"])

你可以用这个!

或者您可以使用另一种方式:

from __future__ import print_function
d = {}
d["char12"] = "test"
d["char22"] = "test"
print(d["char12"], end="")
print(d["char22"], end="")

str.format() 是众多选项之一。

来自documentation

This method of string formatting is the new standard in Python 3, and should be preferred to the % formatting described in String Formatting Operations in new code.

你这样使用它:

print '{}{}'.format(d["char12"], d["char22"])

这也适用:

print('{char12}{char22}'.format(**d))

它允许您在格式字符串中使用字典键。

您可以使用 join()

d = {}
d["char12"] = "test"
d["char22"] = "test"

print ''.join((d["char12"], d["char22"]))

输出:testtest

要不带空格地打印字典的值:

print(''.join(d.values())

词典没有顺序,所以如果顺序很重要,您应该使用 OrderedDict。

from collections import OrderedDict

d = OrderedDict()
d["char12"] = "test"
d["char22"] = "test"

print(''.join(d.values())