提问人:roudan 提问时间:10/19/2023 最后编辑:toyota Supraroudan 更新时间:10/20/2023 访问量:109
如何将 List of Tuple 转换为字符串?[复制]
how to convert list of tuple into a string? [duplicate]
问:
我有一个元组列表,我想将该列表转换为由逗号分隔的元组对字符串。不知道该怎么做?
例如,如果我有这个列表
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赞
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)
评论
", ".join(str(x) for x in a)