如何删除字符串末尾的逗号

How to remove comma at the end of a string

嘿,我是编程新手,在 python 中使用名为 pokebase 的库,它是 Pokeapi

的包装器

代码:

import pokebase as pb #pip install pokebase
p1 = pb.pokemon('venusaur')
types = ''
for poketype in p1.types:
    types += poketype.type.name.capitalize()+', '
print(types)

它打印的数据是这样的:

Grass, Poison, 

所以我学会了如何在 youtube 教程上使用这个 api 但这里的问题是当我 运行 for 循环时它在输出的末尾打印 ', '语法错误。我该如何解决? 我尝试使用 end 和 separator 参数删除它,但它不起作用。我怎样才能去掉最后的逗号?

你可以这样做:

types = ','.join(poketype.type.name.capitalize() for poketype in p1.types)

.join() 函数接受一个可迭代对象并连接它的元素。

您可能应该在这里使用 join(),因为那样会非常简单。如果你真的想坚持你的循环方法,那么你需要重新表述逻辑,这样最后的逗号就不会被附加。在那种情况下,我会选择:

types = ''
for poketype in p1.types:
    if types != '':
        types += ', '
    types += poketype.type.name.capitalize()
print(types)

以上逻辑表示从第二个术语开始,在每个术语前面加上一个逗号。这避免了每次在最后一个词后放置一个悬空的逗号。

如果你想坚持使用循环选项,还有其他选项。您可以将最后一个打印语句更改为

print(types[:-2])

它将删除最后 2 个字符。