【问题标题】:How to remove comma at the end of a string如何删除字符串末尾的逗号
【发布时间】:2021-08-23 05:56:29
【问题描述】:

嘿,我是新来的编程和使用 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 参数将其删除,但它不起作用。怎么去掉最后的逗号?

【问题讨论】:

    标签: python python-3.x string comma pokeapi


    【解决方案1】:

    你可以这样做:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

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

        print(types[:-2])
        

        它将删除最后 2 个字符。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-08-30
          • 2012-05-20
          • 1970-01-01
          • 1970-01-01
          • 2019-01-10
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多