【问题标题】:Python 3 string.join() equivalent?Python 3 string.join() 等效?
【发布时间】:2012-01-29 21:19:43
【问题描述】:

我一直在 python 2 中使用 string.join() 方法,但它似乎已在 python 3 中删除。python 3 中的等效方法是什么?

string.join() 方法让我可以将多个字符串组合在一起,并在每个字符串之间插入一个字符串。例如,string.join(("a", "b", "c"), ".") 将产生 "a.b.c"。

【问题讨论】:

  • string.join 在 Python 2 中已弃用。因此您也可以在 Python 2 中使用 '.'.join()
  • 好吧,我会记住这一点的 :)
  • @rubik 当然是,除非你 import string ;)
  • @alavin89 很抱歉,我不明白你在说什么。 所有成为方法的字符串函数已被弃用。是否导入模块。
  • @rubrik string 方法已弃用,取而代之的是 str 方法。在大多数情况下,您想使用您的 pythonic '.'.join() 方法,但 str.join()(以前的 string.join())也有合法的 Pythonic 用途。例如,您有时希望 joining str 在运行时可配置,并希望将函数(连同 joining str)传递给字符串处理的其他元素或 NLP 管道。

标签: python string methods python-3.x


【解决方案1】:

访问https://www.tutorialspoint.com/python/string_join.htm

s=" "
seq=["ab", "cd", "ef"]
print(s.join(seq))

ab cd ef

s="."
print(s.join(seq))

ab.cd.ef

【讨论】:

    【解决方案2】:

    str.join() 在 Python 3 中工作正常,您只需要正确获取参数的顺序

    >>> str.join('.', ('a', 'b', 'c'))
    'a.b.c'
    

    【讨论】:

    • ... 这是因为通常obj.method(args) 在技术上等同于objclass.method(obj, args)。我的+1。无论如何,Tim's 在 Python 中更常见。
    • 好的,谢谢。我个人也尽可能使用@Tim 的方法。但有时在实例化分隔符字符串之前需要join 函数(传递给中间件构造函数、序列化程序等)。 @Dennis 正在寻找与 string.join 等效的 Python3,这是我所知道的唯一一个。
    • 是的。我理解动机。这是绝对正确的;)
    【解决方案3】:

    字符串对象有join方法:

    ".".join(("a","b","c"))

    【讨论】:

      【解决方案4】:

      '.'.join()".".join().. 所以任何字符串 instance 都有方法 join()

      【讨论】:

      • 顺便说一句,你也应该使用 2.x 中的方法。
      猜你喜欢
      • 2010-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多