如何将 List of Tuple 转换为字符串?[复制]

how to convert list of tuple into a string? [duplicate]

提问人:roudan 提问时间:10/19/2023 最后编辑:toyota Supraroudan 更新时间:10/20/2023 访问量:109

问:

我有一个元组列表,我想将该列表转换为由逗号分隔的元组对字符串。不知道该怎么做?

例如,如果我有这个列表

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
Python 列表 元组

评论

2赞 MrFlick 10/19/2023
你想要吗?", ".join(str(x) for x in a)

答:

2赞 OysterShucker 10/19/2023 #1

遍历每个元素并将其放在 f 字符串中。

b=', '.join(f'{d}' for d in a)

评论

0赞 XMehdi01 10/26/2023
非常好的主意
3赞 Timur Shtatland 10/19/2023 #2

使用 f 字符串或格式化的字符串文字str.strip

a = [(830.0, 930.0), (940.0, 1040.0)]
b = f"{a}".strip("[]")
print(b)
# (830.0, 930.0), (940.0, 1040.0)
1赞 user22222314 10/19/2023 #3

如果要将元组列表转换为不带方括号的字符串,则可以使用字符串操作来实现此目的。这是你如何做到的:

a=[(830.0, 930.0), (940.0, 1040.0)]
b = ','.join(f'({x},{y})' for x, y in a)
print(b)

评论

1赞 OysterShucker 10/19/2023
如果元组的长度不一致怎么办?
1赞 Codist 10/19/2023 #4

如果你看一下列表的字符串表示形式,你会注意到它以左括号开头,以右括号结束。因此,只需按如下方式删除它们:

a = [(830.0, 930.0), (940.0, 1040.0)]
print(str(a)[1:-1])

输出:

(830.0, 930.0), (940.0, 1040.0)
1赞 XMehdi01 10/20/2023 #5

此代码将元组列表合并为单个字符串,并用逗号分隔元组。然后,它删除尾随逗号并打印生成的字符串。

a = [(830.0, 930.0), (940.0, 1040.0)]
output = ""
for i in a:
    output += str(i) + ","
output = output.rstrip(",") 
print(output)