如何将元组列表转换为字符串?

3
我有一个元组列表,我想将列表转换为由逗号分隔的元组对的字符串。不确定如何做到这一点?
例如,如果我有以下列表:
a=[(830.0, 930.0), (940.0, 1040.0)]

我想将它转换成这样的字符串
b="(830.0, 930.0), (940.0, 1040.0)"

a=[(830.0, 930.0), (940.0, 1040.0), (1050.0, 1150.0), (1160.0, 1260.0), (1270.0, 1370.0), (1380.0, 1480.0), (1490.0, 1590.0)]
b=','.join(a)
b
----> 2 b=','.join(a)
      3 b

TypeError: sequence item 0: expected str instance, tuple found

2
你是不是想要使用 ", ".join(str(x) for x in a) - undefined
5个回答

3

2
遍历每个元素并将其放入f-string中。
b=', '.join(f'{d}' for d in a)

非常好的主意 - undefined

1
这段代码将一个元组列表合并为一个字符串,并用逗号分隔元组。然后它会去除末尾的逗号,并打印出结果字符串。
a = [(830.0, 930.0), (940.0, 1040.0)]
output = ""
for i in a:
    output += str(i) + ","
output = output.rstrip(",") 
print(output)

1
如果你想将元组列表转换为没有周围方括号的字符串,你可以使用字符串操作来实现。以下是你可以做到这一点的方法:
a=[(830.0, 930.0), (940.0, 1040.0)]
b = ','.join(f'({x},{y})' for x, y in a)
print(b)


1
如果元组的长度不一致怎么办? - undefined

1
如果你查看列表的字符串表示形式,你会注意到它以左括号开头,以右括号结尾。所以,只需按照以下方式将它们移除即可:
a = [(830.0, 930.0), (940.0, 1040.0)]
print(str(a)[1:-1])

输出:

(830.0, 930.0), (940.0, 1040.0)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接