我正在尝试将数字元组转换并连接到python上的字符串中。我从Angular控制器那里收到类似的东西
arr[row-r][col-c]
然后我将它发送到data['permissions'] = (43,12,65,34,67)
以将这些值连接成一个字符串:
model.py
当我运行代码时,python控制台向我显示一个错误,可以隐式地将元组数组转换为str。我尝试了一些不同的方法来连接和转换元组:
此
values = data['user'], ",'", str(data['permissions']), "'"
和
permissionsList = ','.join(data['permissions'])
values = data['user'], ",'",permissionsList, "'"
并得到同样的错误。值应该是这样的:pointer = 0;
values = int(data['user']),",'"
for value in data['permissions']:
if (pointer == 0):
values += str(value)
pointer += 1
else:
values += ','+str(value)
(我需要这种格式来处理查询)。
答案 0 :(得分:1)
在尝试加入之前,您需要先将元组中的每个项目转换为字符串:
','.join(map(str, data['permissions']))
map
只需在元组中的每个项目上调用str
。
答案 1 :(得分:0)
你必须将元组转换为列表,然后将列表中的元素从int转换为str。 示例如下
user = 45
permission = (43, 12, 65, 34, 67)
final = "{},'{}'".format(user, ','.join(str(p) for p in permission))
print(final)
输出将是
45,' 43,12,65,34,67'
final = "{},'{}'".format(data['user'], ','.join(str(p) for p in data['permission']))