Python 3.x 将列表打印到数组,但始终在列表中再打印一项
我有一张单子Python 3.x 将列表打印到数组,但始终在列表中再打印一项,python-3.x,Python 3.x,我有一张单子 p = [10, 4, 18, 3] 我希望输出为10104101818183 现在我有 pe = [] counter = 0 temp = 0 while counter<=4: for i in range(0,len(p)-temp+1): pe.append(p[i]) temp+=1 counter+=1 pe=[] 计数器=0 温度=0 计数器时,可以使用列表切片: p = [10, 4, 18, 3] for
p = [10, 4, 18, 3]
我希望输出为10104101818183
现在我有
pe = []
counter = 0
temp = 0
while counter<=4:
for i in range(0,len(p)-temp+1):
pe.append(p[i])
temp+=1
counter+=1
pe=[]
计数器=0
温度=0
计数器时,可以使用列表切片:
p = [10, 4, 18, 3]
for i in range(1, len(p)+1):
print(*p[:i], end=' ')
印刷品:
10 10 4 10 4 18 10 4 18 3
编辑:要将值放入列表中,请执行以下操作:
p = [10, 4, 18, 3]
out = []
for i in range(1, len(p)+1):
out.extend( p[:i] )
# print the output
for value in out:
print(value, end=' ')
在python 3中:
p = [10, 4, 18, 3]
q= []
g=[]
for i in range(len(p)+1):
q = p[0:i]
g=g+q
str1 = ' '.join(str(e) for e in g)
print(str1)
输出
10 10 4 10 4 18 10 4 18 3
解决方案
p=[10,4,18,3]
长度=长度(p)
对于范围内的i(长度):
对于p[:i]中的j:
p、 附加(j)
对于范围内的i(长度):
p、 附加(p.pop(0))
印刷品(p)
输出
[10, 10, 4, 10, 4, 18, 10, 4, 18, 3]
这就是诀窍!我试图理解为什么这样做有效,但我真的很困惑。因此,我理解,切片是指使用冒号从列表中获取一部分,但一旦列表被切片一次,它如何返回到列表中?@eq1nox循环的每次迭代都会从列表中获取较大的切片p
。第一次迭代p[:1]
,第二次迭代p[:2]
,依此类推p[:1]
返回[10]
,p[:2]
返回[10,4]
…哦,好的,我现在明白了。谢谢最后一件事,我想把它放到它自己的列表中。我尝试过使用list(),.append(),但没有得到想要的结果。