Mat*_*ick 205 python string list
我是Python的新手,我完全感到困惑,.join()因为我已经阅读过它是连接字符串的首选方法.
我试过了:
strid = repr(595)
print array.array('c', random.sample(string.ascii_letters, 20 - len(strid)))
.tostring().join(strid)
Run Code Online (Sandbox Code Playgroud)
有类似的东西:
5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5
Run Code Online (Sandbox Code Playgroud)
它为什么这样工作?不应该595只是自动附加?
Gre*_*ill 299
仔细看看你的输出:
5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5
^ ^ ^
Run Code Online (Sandbox Code Playgroud)
我突出显示了原始字符串的"5","9","5".Python join()方法是一个字符串方法,它接受与字符串连接的事物列表.一个更简单的例子可能有助于解释:
>>> ",".join(["a", "b", "c"])
'a,b,c'
Run Code Online (Sandbox Code Playgroud)
在给定列表的每个元素之间插入",".在你的情况下,你的"列表"是串表示"595",这将被视为列表["5","9","5"].
看起来你正在寻找+:
print array.array('c', random.sample(string.ascii_letters, 20 - len(strid)))
.tostring() + strid
Run Code Online (Sandbox Code Playgroud)
Ned*_*der 90
join将可迭代的东西作为参数.通常它是一个列表.在你的情况下,问题是字符串本身是可迭代的,依次给出每个字符.你的代码分解为:
"wlfgALGbXOahekxSs".join("595")
Run Code Online (Sandbox Code Playgroud)
其行为与此相同:
"wlfgALGbXOahekxSs".join(["5", "9", "5"])
Run Code Online (Sandbox Code Playgroud)
所以产生你的字符串:
"5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5"
Run Code Online (Sandbox Code Playgroud)
作为迭代的字符串是Python最令人困惑的开始问题之一.
Dan*_*erz 59
要附加字符串,只需将其与+符号连接即可.
例如
>>> a = "Hello, "
>>> b = "world"
>>> str = a + b
>>> print str
Hello, world
Run Code Online (Sandbox Code Playgroud)
join用分隔符连接字符串.分隔符是您放置之前的位置join.例如
>>> "-".join([a,b])
'Hello, -world'
Run Code Online (Sandbox Code Playgroud)
Join将字符串列表作为参数.
join()用于连接所有列表元素.对于连接两个字符串"+"会更有意义:
strid = repr(595)
print array.array('c', random.sample(string.ascii_letters, 20 - len(strid)))
.tostring() + strid
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
550399 次 |
| 最近记录: |