What exactly does the .join() method do?

后端 未结 9 2542
一向
一向 2020-11-22 10:54

I\'m pretty new to Python and am completely confused by .join() which I have read is the preferred method for concatenating strings.

I tried:

         


        
9条回答
  •  [愿得一人]
    2020-11-22 11:08

    Look carefully at your output:

    5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5
    ^                 ^                 ^
    

    I've highlighted the "5", "9", "5" of your original string. The Python join() method is a string method, and takes a list of things to join with the string. A simpler example might help explain:

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

    The "," is inserted between each element of the given list. In your case, your "list" is the string representation "595", which is treated as the list ["5", "9", "5"].

    It appears that you're looking for + instead:

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

提交回复
热议问题