我对Python很陌生,完全搞不懂.join(),我读过它是连接字符串的首选方法。
我试着:
strid = repr(595)
print array.array('c', random.sample(string.ascii_letters, 20 - len(strid)))
.tostring().join(strid)
结果是这样的:
5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5
为什么会这样?595不是应该被自动追加吗?
我对Python很陌生,完全搞不懂.join(),我读过它是连接字符串的首选方法。
我试着:
strid = repr(595)
print array.array('c', random.sample(string.ascii_letters, 20 - len(strid)))
.tostring().join(strid)
结果是这样的:
5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5
为什么会这样?595不是应该被自动追加吗?
当前回答
在提供这个作为输入时,
li = ['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']
s = ";".join(li)
print(s)
Python将其作为输出返回:
'server=mpilgrim;uid=sa;database=master;pwd=secret'
其他回答
Join以一个可迭代的东西作为参数。通常是一个列表。在你的例子中,问题是字符串本身是可迭代的,依次给出每个字符。你的代码分解成这样:
"wlfgALGbXOahekxSs".join("595")
它的作用是这样的:
"wlfgALGbXOahekxSs".join(["5", "9", "5"])
然后生成你的字符串:
"5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5"
字符串作为可迭代对象是Python最令人困惑的初始问题之一。
list = ["my", "name", "is", "kourosh"]
" ".join(list)
如果这是一个输入,使用JOIN方法,我们可以添加单词之间的距离,并将列表转换为字符串。
这是Python输出
'my name is kourosh'
要附加一个字符串,只需将它与+号连接。
E.g.
>>> a = "Hello, "
>>> b = "world"
>>> str = a + b
>>> print str
Hello, world
Join使用分隔符将字符串连接在一起。分隔符就是你 放置在连接之前。如。
>>> "-".join([a,b])
'Hello, -world'
Join接受一个字符串列表作为参数。
“”。Join可用于将列表中的字符串复制到变量中
>>> myList = list("Hello World")
>>> myString = "".join(myList)
>>> print(myList)
['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
>>> print(myString)
Hello World
在提供这个作为输入时,
li = ['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']
s = ";".join(li)
print(s)
Python将其作为输出返回:
'server=mpilgrim;uid=sa;database=master;pwd=secret'