lis的连接元素

2024-04-29 15:21:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个元组列表,比如:

data = [('a1', 'a2'), ('b1', 'b2')]

我想生成这样的字符串:"('a1', 'a2'), ('b1'. 'b2')"

如果我做如下操作:','.join(data),就会得到一个错误:

TypeError: sequence item 0: expected string, tuple found

如果我想在一行中做一些事情,而不是像这样:

for elem in data:
  str += ',%s' % str(elem)

那有办法吗?


Tags: 字符串a2列表dataa1错误itemb2
3条回答

使用生成器将元组转换为字符串,然后使用join()

>>> ', '.join(str(d) for d in data)
"('a1', 'a2'), ('b1', 'b2')"

放弃str()输出中的左括号和右括号:

>>> data = [('a1', 'a2'), ('b1', 'b2')]
>>> str(data)
"[('a1', 'a2'), ('b1', 'b2')]"
>>> str(data)[1:-1]
"('a1', 'a2'), ('b1', 'b2')"
>>> 
','.join(str(i) for i in data)

相关问题 更多 >