Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python反向模式_Python_List_Modulo - Fatal编程技术网

Python反向模式

Python反向模式,python,list,modulo,Python,List,Modulo,我在用蟒蛇3。我想从mylist中获取4项来填充list2,并每4个循环打印一次我的list2。我需要打印其余的内容,即使最后只有1、2或3项 我想用mod%: 输出: [1] [2, 3, 4, 5] 但我需要相反的结果 我试图从1 enumeratemylist开始,1:但是输出是[1,2,3,4],最后一个被忽略 我需要的输出是: [1, 2, 3, 4] [5] mylist的长度完全是随机的。如何获得所需的输出?计数从0开始,0%4==0 因此,只需像您那样使用枚举,然后在最后使用

我在用蟒蛇3。我想从mylist中获取4项来填充list2,并每4个循环打印一次我的list2。我需要打印其余的内容,即使最后只有1、2或3项

我想用mod%:

输出:

[1]
[2, 3, 4, 5]
但我需要相反的结果

我试图从1 enumeratemylist开始,1:但是输出是[1,2,3,4],最后一个被忽略

我需要的输出是:

[1, 2, 3, 4]
[5]
mylist的长度完全是随机的。如何获得所需的输出?

计数从0开始,0%4==0

因此,只需像您那样使用枚举,然后在最后使用

if len(list2) != 0
    print(list2)
计数从0开始,0%4==0

因此,只需像您那样使用枚举,然后在最后使用

if len(list2) != 0
    print(list2)

你有两个问题。正如您所注意到的,一个是从0开始。第二个是,只有当列表正好有4个元素时才打印,因此,如果最后还有一些元素,那么在打印那些剩余值的循环之后,就不再有打印调用了。将其添加到末尾:

mylist = [1, 2, 3, 4, 5]
list2 = []
for count, el in enumerate(mylist, 1):
    list2.append(el)
    if count % 4 == 0:
        print(list2)
        list2 = []

if list2: print(list2)

你有两个问题。正如您所注意到的,一个是从0开始。第二个是,只有当列表正好有4个元素时才打印,因此,如果最后还有一些元素,那么在打印那些剩余值的循环之后,就不再有打印调用了。将其添加到末尾:

mylist = [1, 2, 3, 4, 5]
list2 = []
for count, el in enumerate(mylist, 1):
    list2.append(el)
    if count % 4 == 0:
        print(list2)
        list2 = []

if list2: print(list2)

@remcogerlich为你的要求写了一个很好的答案。尽管如此,我还是建议不要使用%4来完成你要完成的任务,除非它是学校的某种家庭作业,而是使用列表切片:

n = 4
for i in range(0, len(mylist), n):
    print(mylist[i:i + n])

Python可以处理索引溢出,因此您可以编写更多高级代码,而不必关心尾部大小。看看类似的

@remcogerlich为你的要求写了一个很好的答案。尽管如此,我还是建议不要使用%4来完成你要完成的任务,除非它是学校的某种家庭作业,而是使用列表切片:

n = 4
for i in range(0, len(mylist), n):
    print(mylist[i:i + n])

Python可以处理索引溢出,因此您可以编写更多高级代码,而不必关心尾部大小。看一看类似的

声音,你只想把数据分成4组。这在这里做得最好:


听起来你只是想把数据分成4组。这在这里做得最好:


可能重复的可能重复的哦,好的,我明白了。谢谢你们和@MatthieuBrucherOh好的,我明白了。谢谢你们,你们和@MatthieuBrucherI不需要打印列表,这只是一个例子。在这种情况下,我需要一个if语句来实现我想要的。你们似乎不喜欢模,这个算符不是优化的吗?它是优化的,我也很欣赏。问题是很多时候人们问的是如何实现我的想法,而不是如何解决我的问题。这两种方法都很好,但从学习的角度来看,这一方法的回报是后者的十倍。如果您对列表索引进行细粒度控制,那么您试图实现的目标并不十分明显。若你们需要子列表——切片更像是pythonic,若你们需要索引——你们需要范围。当然,在很多情况下,重新分配和追加助手列表并不是最优的,每次我都会选择更好的答案,即使这与我的想法完全不同。但我认为在这里使用mod是很好的,因为我需要做一些4个循环的事情。我不知道你是怎么用射程打圈的。但是,如果你说模I更好,以你的回答为例,这实际上是我的意思的一个很好的例子——如果你在使用python,试着用更高层次的抽象来思考tbh,这很难实现。实际上,这是python的一大部分。即,不是循环列表,而是每4个循环生成一次。。。想一想如果让。。。每4个元素。很难一概而论,但95%的情况下,若你们在循环中处理列表索引,那个么应该有更好的方法。是的,我理解。我不太擅长python,我做一些基本的事情。这就是为什么我问了很多关于python的问题来学习最好的方法,我不需要打印一个列表,这只是一个例子。在这种情况下,我需要一个if语句来实现我想要的。你们似乎不喜欢模,这个算符不是优化的吗?它是优化的,我也很欣赏。问题是很多时候人们问的是如何实现我的想法,而不是如何解决我的问题。这两种方法都很好,但从学习的角度来看,这一方法的回报是后者的十倍。如果您对列表索引进行细粒度控制,那么您试图实现的目标并不十分明显。若你们需要子列表——切片更像是pythonic,若你们需要索引——你们需要范围。当然,在很多情况下,重新分配和追加助手列表并不是最优的,每次我都会选择更好的答案,即使这与我的想法完全不同。但我认为在这里使用mod是很好的,因为我需要做一些4个循环的事情。我不知道你是怎么用射程打圈的。但是,如果你说模I更好,以你的回答为例,这实际上是我的意思的一个很好的例子——如果你在使用python,试着用更高层次的抽象来思考tbh,这很难实现。这是一个
实际上,python的很大一部分。即,不是循环列表,而是每4个循环生成一次。。。想一想如果让。。。每4个元素。很难一概而论,但95%的情况下,若你们在循环中处理列表索引,那个么应该有更好的方法。是的,我理解。我不太擅长python,我做一些基本的事情。这就是为什么我问了很多关于python的问题来学习最好的方法