msg = 'afdssav'
MYQ = deque(msg)
MYPQ.append('asdf')
Run Code Online (Sandbox Code Playgroud)
在这里,我试图创建一个字符串deque,但是当我弹出元素或尝试使用Python 2.7从中读取元素时,我会通过char获取char.
我怎样才能使它以与插入字符串相同的方式返回字符串?
即我想MYQ[1]成为'asdf'并MYQ.pop()返回msg.
可能是这样的:
MYQ = deque([msg])
Run Code Online (Sandbox Code Playgroud)
演示:
In [1]: from collections import deque
In [2]: msg = 'afdssav'
In [3]: myq = deque([msg])
In [4]: myq.append('asdf')
In [5]: myq
Out[5]: deque(['afdssav', 'asdf'])
Run Code Online (Sandbox Code Playgroud)
呼叫签名deque是:
deque([iterable[, maxlen]]) --> deque object
Run Code Online (Sandbox Code Playgroud)
字符串是可迭代的,但是当您遍历字符串时,您将获得单个字符.因此你看到的行为:
In [7]: deque(msg)
Out[7]: deque(['a', 'f', 'd', 's', 's', 'a', 'v'])
Run Code Online (Sandbox Code Playgroud)
您想要提供deque一个可生成整个字符串的iterable.
| 归档时间: |
|
| 查看次数: |
431 次 |
| 最近记录: |