【问题标题】:Python join list every 8 iterations [duplicate]Python每8次迭代加入列表[重复]
【发布时间】:2018-10-28 14:51:23
【问题描述】:

获取子网和IP地址,执行逻辑AND以检索网络地址。 我的问题是,如何返回一个包含四个八位字节的列表,而不仅仅是将所有值存储到一个列表中。

例如,我的功能是打印 ['1','1','1','1'...],而我想打印 ['11111111','11111111','11111100',' 11111111']

def logicalAnd(ip, subnet):

test = list()
for ipOctect, subnetOctect in zip(ip, subnet):
    for i,j in zip(ipOctect, subnetOctect):
        octet = (i and j)
        test.append(octet)
print(test)

【问题讨论】:

标签: python python-3.x list


【解决方案1】:

在我看来,您只是想将数据分成 8 个一组。这里最好这样做:

How do you split a list into evenly sized chunks?

def chunks(l, n):
    """Yield successive n-sized chunks from l."""
    for i in range(0, len(l), n):
        yield l[i:i + n]

mylist = ['1']*32        

print(["".join(i) for i in chunks(mylist,8)])

输出:

['11111111', '11111111', '11111111', '11111111']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-17
    • 2020-05-02
    • 2013-05-09
    • 1970-01-01
    • 2012-05-19
    • 2013-05-23
    • 2014-10-31
    • 2021-09-24
    相关资源
    最近更新 更多