Python-.join()方法到底做什么?

发布于 2021-02-02 23:14:42

我对Python来说还很陌生,并且完全不.join()理解所读内容是连接字符串的首选方法。

我试过了:

strid = repr(595)
print array.array('c', random.sample(string.ascii_letters, 20 - len(strid)))
    .tostring().join(strid)

并得到类似:

5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5

为什么会这样工作?难道不595应该自动追加吗?

关注者
0
被浏览
132
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    仔细查看你的输出:

    5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5
    ^    
    
         ^                 ^
    

    我突出显示了原始字符串的“ 5”,“ 9”,“ 5”。Python的join()方法是一个字符串的方法,而且占据了名单的事情,加入以字符串。一个简单的示例可能有助于解释:

    >>> ",".join(["a", "b", "c"])
    'a,b,c'
    

    在给定列表的每个元素之间插入“,”。在你的情况下,你的“列表”是字符串表示形式“ 595”,它被视为列表[“ 5”,“ 9”,“ 5”]

    看来你要寻找的是+:

    print array.array('c', random.sample(string.ascii_letters, 20 - len(strid)))
    .tostring() + strid
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看