2024-07-08 11:28:58 发布
网友
如果我在Python3中键入以下代码以将负数扩展到deque的左侧
de=collections.deque([]) de.extendleft('-1-2-3-4-5-6')
我得到了这样的输出
deque(['6', '-', '5', '-', '4', '-', '3', '-', '2', '-', '1', '-'])
相反,我希望得到如下输出:
deque(['-6','-5''-4','-3','-2','-1'])
这很难看,但很管用: 而不是
de.extendleft('-1-2-3-4-5-6')
使用
de.extendleft('-1-2-3-4-5-6'.replace('-',',-').split(',')[1:])
它做什么:
replace('-',',-')添加了一个逗号,可以用split分隔。因此,在这第一步中,您将得到:
replace('-',',-')
split
'-1-2-3-4-5-6'.replace('-',',-')=',-1,-2,-3,-4,-5,-6'
在split(',')中,您退出之前添加的逗号,并可以将其拆分为一个列表:
split(',')
',-1,-2,-3,-4,-5,-6'.split(',')=['', '-1', '-2', '-3', '-4', '-5', '-6']
最后,您必须退出位置0中的无用空间,这就是为什么您最后放置了[1:],因此最后的部分成为
0
[1:]
['', '-1', '-2', '-3', '-4', '-5', '-6'][1:]=['-1', '-2', '-3', '-4', '-5', '-6']
因此,最终列表将变为
['-1', '-2', '-3', '-4', '-5', '-6']
编辑:不要遵循此答案,最好使用空格而不是逗号作为分隔符
您正在将字符串作为输入。因此,它认为-这也是一个元素
-
from collections import deque x = '-1-2-3-4-5-6'.replace('-', ' -').strip() de = deque([]) de.extendleft(x.split())
它应该是一个列表,而不是一个字符串。使用'-1-2-3-4-5-6'.replace('-', ' -').split(' ')[1:]
'-1-2-3-4-5-6'.replace('-', ' -').split(' ')[1:]
import collections de=collections.deque([]) de.extendleft([-1,-2,-3,-4,-5,-6])
import collections de=collections.deque([]) de.extendleft('-1-2-3-4-5-6'.replace('-', ' -').split(' ')[1:])
这很难看,但很管用: 而不是
使用
它做什么:
replace('-',',-')
添加了一个逗号,可以用split
分隔。因此,在这第一步中,您将得到:在
split(',')
中,您退出之前添加的逗号,并可以将其拆分为一个列表:最后,您必须退出位置
0
中的无用空间,这就是为什么您最后放置了[1:]
,因此最后的部分成为因此,最终列表将变为
编辑:不要遵循此答案,最好使用空格而不是逗号作为分隔符
您正在将字符串作为输入。因此,它认为
-
这也是一个元素它应该是一个列表,而不是一个字符串。使用
'-1-2-3-4-5-6'.replace('-', ' -').split(' ')[1:]
相关问题 更多 >
编程相关推荐