删除lis中元组中的逗号

2024-05-23 22:28:56 发布

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

我有元组的列表

items = [('Abkhazian',), ('Afar',), ('Afrikaans',), ('Albanian',), ('Amharic',), ('Arabic',), ('Armenian',), ...]

想成功吗

^{pr2}$

目前我找到的唯一解决方案是

items = [str[i] for item in items]
for i in range(len(items)):
    items[i] = items[i].replace("[","")
    items[i] = items[i].replace("(","")
    items[i] = items[i].replace("'","")
    items[i] = items[i].replace(",","")
    items[i] = items[i].replace(")","")
    items[i] = items[i].replace("]","")

我觉得应该有更好的办法


Tags: in列表foritems解决方案replace元组arabic
3条回答

结果=[i[0]对于项目中的i] 打印(结果)

没什么特别的,也没有逗号看起来像是打字错误

嗯,项目中没有逗号,只有一个元素元组。在

如果不需要在列表中包含单个元素元组,而是将它们作为字符串条目,只需使用列表理解:

res = [item[0] for item in items] 

从原始列表中的每个元组中选择第一个项。在

^{pr2}$

事实上,使用@ShadowRanger的灵活解包方案,你确实可以获得不错的加速效果:

res = [item for item, in items]

可能看起来像是打字错误,但它能完成工作。在

更具Python风格的一面是,您可以解压缩列表:

items = list(list(zip(*items))[0])

相关问题 更多 >