在 Python 和 JSON 中打印不带 "( ' ," 的 str 和 int

print str and int without "( ' ," in Python with JSON

我目前正在使用 JSON 和 Python,但我遇到了问题。 当我写:

x = {}
x['red'] = {'name': "red"}

y = {}
y['red'] = {'p': 1}


z = x['red']['name'], y['red']['p']

print(z)

我回来了:

('red', 1)

但我想要它:

red1

不使用

print(x['red']['name'], y['red']['p'])

感谢您的帮助:)

只需连接字符串,简单:

z = y['red']['name'] + str(z['red']['p'])
print(z)

您需要在 z['red']['p'] 附近调用 str(),因为它是一个整数。通过将其转换为字符串,您可以将两个字符串连接成一个字符串

print(''.join(z)) 成功了。

干杯

演示:https://repl.it/repls/MinorRoyalTrace

编辑:使用 print(''.join(str(element) for element in z)) 代替句柄 str+ int

当我们解析行中的变量时

z = x['red']['name'], y['red']['p']

我们得到这个:

z = "red", 1

这在 Python 中与写作相同:

z = ("red", 1)

这一行定义了一个名为 "tuple" 的数据类型。它类似于列表。当您使用 print 写出此变量的值时,Python 将其格式化并添加括号。

如果你想输出字符串"red1",你需要做一些小的字符串处理。在你的元组中,你的第一个项目是一个字符串,下一个是一个整数。这两个在 Python 中不能使用 + 直接连接。您要么需要先转换(转换)数字,要么使用字符串格式化函数:

示例 1 - 使用 str() 将数字转换为字符串

z = x['red']['name'] + str(y['red']['p'])

示例 2 - 使用简单的字符串格式

z = '%s%s' % (x['red']['name'], y['red']['p'])

示例 3 - 使用 f 字符串

z = f"{x['red']['name']}{y['red']['p']}"

当您键入 z = x['red']['name'], y['red']['p'] 时,Python 会自动将其作为元组。 但是您希望将其视为字符串并获得串联结果。

为此你可以使用,

z = str(x['red']['name']) + str(y['red']['p'])