小编Sco*_*God的帖子

Python在列表中对元素进行分组,其大小不断增加

my_list = [my_list[int((i**2 + i)/2):int((i**2 + 3*i + 3)/2)] for i in range(int((-1 + (1 + 8*len(my_list))**0.5)/2))]
Run Code Online (Sandbox Code Playgroud)

是否有更简洁的解决方案将列表元素分组为比这更大的子组?

例子:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] --> [[1], [2, 3], [4, 5, 6], [7, 8, 9, 10]]
[1, 2, 3, 4] --> [[1], [2, 3]]
[1, 2, 3, 4, 5, 6] --> [[1], [2, 3], [4, 5, 6]]
Run Code Online (Sandbox Code Playgroud)

编辑

以下是结果timeit:

from timeit import Timer
from itertools import count

def martijn(it):
    it = iter(it)
    return …
Run Code Online (Sandbox Code Playgroud)

python list python-3.x

7
推荐指数
1
解决办法
383
查看次数

如何改变python列表索引的语法?

在提出这个问题之后,它收到了关于你如何做这样的事情的评论:

>>> def a(n):
        print(n)
        return a
>>> b = a(3)(4)(5)
3
4
5
Run Code Online (Sandbox Code Playgroud)

是否可以使用这个或类似的概念来索引列表my_list(n)而不是my_list[n]

python indexing syntax list python-3.x

1
推荐指数
1
解决办法
65
查看次数

在python中的单个for循环中执行不同的函数

对于实例我在python中有三个函数和一个for循环,我希望顺序执行所有这些函数,例如在第一次迭代时应该执行函数1和在第二次迭代函数2上执行等等

这三个功能是:

    from scapy.all import *
from random import randint
import threading
import time
from datetime import datetime
import multiprocessing
from itertools import count

#pktList = []
#pktsInt = 0

#def Packets():
# Generate packet
    #for run_no in range(0,1)
p = raw_input('Enter PACKETs to send: ')
pktsInt = int(p)
pkts = IP(src="10.0.0.1",dst="10.0.0.2")/TCP()/"GET /HTTP/1.0\r\n\r\n"/Raw(RandString(size=120))
#print pkts
pkts[TCP].flags = "UFP"
pktList = []    
for pktNum in range(0,pktsInt):
    pktList.extend(pkts)
    pktList[pktNum][TCP].dport = 80 
    #randint(1,65535) # Pkt has Ran PortNo.
    print pktList[pktNum].summary()
    #print len(pktList[pktNum])
    #wrpcap('tcp-packets.pcap',pktList[pktNum]) …
Run Code Online (Sandbox Code Playgroud)

python traffic scapy python-2.7 python-3.x

0
推荐指数
1
解决办法
2208
查看次数

Python:使用更改的语法从n维列表中访问元素

在提出这个问题之后,我扩展了接受的答案,使其适用于二维列表:

class List(list):
    def __call__(self, i):
        def call(j):
            return self[i][j]
        return call
Run Code Online (Sandbox Code Playgroud)

和三维列表:

class List(list):
    def __call__(self, i):
        def call2(j):
            def call3(k):
                return self[i][j][k]
            return call3
        return call2
Run Code Online (Sandbox Code Playgroud)

但是如何为n维列表实现这个类呢?

python indexing syntax list python-3.x

0
推荐指数
1
解决办法
51
查看次数

标签 统计

python ×4

python-3.x ×4

list ×3

indexing ×2

syntax ×2

python-2.7 ×1

scapy ×1

traffic ×1