将数字元组转换为字符串

Converting numeric tuple to a string

我的数据类似于以下内容:

q = (0,0,0)

我想将数字元组转换为字符串。互联网上很多人提供的解决方案如下所示:

user = 45
permission = (43, 12, 65, 34, 67)
final = "{},'{}'".format(user, ','.join(str(p) for p in permission))
print(final)

来源:.

不幸的是,我不断收到一条错误消息:TypeError: 'int' object is not callable。所以,我尝试了像这样的其他解决方案 ','.join(map(str, q))。没有用。

我的申请有问题吗?请帮忙。预期输出:

q
"0" "," "0" "," "0"

或以下字符串形式:

0,0,0

您可以混合使用列表理解和 ','.join():

q = (0,0,0)
output = [j for j  in [','.join([str(x) for x in q])][0]]

这输出:

['0', ',', '0', ',', '0']

编辑:鉴于 OP 也接受字符串,您可以避免外部列表理解,只需使用:

','.join([str(x) for x in q])
user = 45
permission = (0,0,0)
final = "'{}'".format(','.join(str(p) for p in permission))
print(final)

这个returns0,0,0