python 当中的zip( )函数到底是干嘛的?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 当中的zip( )函数到底是干嘛的?相关的知识,希望对你有一定的参考价值。

这个可以理解为拉链,将两个list拉到一起来,每个对应元素做一定操作后,合并成一个list.
比如:
zip([1,2,3],[\'a\',\'b\',\'c\'])
结果是
[(1, \'a\'), (2, \'b\'), (3, \'c\')]
参考技术A zip([1,2,3],['a','b','c'])
结果是
[(1, 'a'), (2, 'b'), (3, 'c')]

就是依次取出每一个数组的元素,然后组合
操作数可以更多
zip([1,2,3],['a','b','c'],[4,5,6])也是可以的

如果元素长度不一致会被砍到一样长
另外zip(*list)也就是数组前面带个星号,是上述操作的逆操作
zip(*[(1, 'a'), (2, 'b'), (3, 'c')])的结果是[1,2,3],['a','b','c']
参考技术B 估计楼主以为是压缩算法吧,呵呵,这个蛮有迷惑性的,其实这个很好理解,就是用的地方不多,如果你学习过数据矩阵的话,也许不会问这个问题了。

楼主想想一下小学升国旗的时候,小学生门一排排,一列列的整齐地站着,当我们从列来看这些学生的时候,就相当于以每排学生作为一个集合,然后以这些集合组成的集合传递给了zip函数。不知道楼主看懂没有
参考技术C 这个可以理解为拉链,将两个list拉到一起来,每个对应元素做一定操作后,合并成一个list.
比如:
zip([1,2,3],['a','b','c'])
结果是
[(1, 'a'), (2, 'b'), (3, 'c')]

子墨掩码到底是干嘛的?

前言

基本上每台计算机的网卡配置里都有这么一项子墨掩码的配置,子墨掩码的值一般都是255.255.255.0 ,那么这个玩意到底是干嘛的呢?今天我们就来揭开它神秘的面纱!

IP分配

没错 ,子墨掩码的作用就是用来分配ip地址的,我们先将子墨掩码中的四位数字转换成二进制
255.255.255.0 转为二进制后 如下所示

11111111  11111111  11111111  000000

其实很简单,1就代表不变的意思,这四组数字就分别代表了IP的四组数字,比如我们路由器的网关是192.168.100.1,那么前三组数字192.167.100就不会变,会变的只有最后组数字,也就是说,当网关进行IP分配时,会在2 ~ 254之间进行分配,也就是会给计算机分配 192.168.100.2 ~ 192.168.100.254之间的ip地址,有200多个IP可供分配,想想你家有这么多 台电脑吗?普通的家庭里面使用绰绰有余了;

有的童鞋可能要问了,怎么是2 ~ 254呢,那255这个地址用来干嘛了?255其实是用来广播的哈

子墨掩码的另一种表现形式

除了255.255.255.0 之外,我们还会看到 这种形式的子墨掩码: 192.168.100.1/16,前面的ip地址都知道,后面的/16是什么鬼?为了搞清楚这个问题,我们需要用到子墨掩码计算器,百度一搜就有了,这里就不提供了,计算后如下图

大家可以看到, 这个16计算出来的掩码是255.255.0.0,也就是说它的范围更广,仔细看红圈的部分,也就是说它的范围是192.168.0.1 ~ 192.168.255.254 之间,这么一算254 * 254 ,就有6万多个IP可以使用了,你想想,有几个大公司的人数超过6万的;这个范围给一个公司的人用也就足够了;

/8的情况
另外,除了/16之外,还有/8的,8的 范围就更广了, 只有最前面192是不变的,那么ip范围就是 255 * 255 * 254,这个数字大家可以计算一下是多少个;

/24的情况
除此之外,还有/24的,看下图我们是不是可以看到,跟我们文章的第一张图是一样的,没错啦,就是最开始的255.255.255.0,它的范围是1 ~ 254之间 ,一般情况下,192.168.100.1是路由器使用的网关,所以有效范围也是192.168.100.2 ~ 192.168.100.254

以上是关于python 当中的zip( )函数到底是干嘛的?的主要内容,如果未能解决你的问题,请参考以下文章

子墨掩码到底是干嘛的?

子墨掩码到底是干嘛的?

子墨掩码到底是干嘛的?

商业智能到底是干嘛的?

perf中branch-filter到底是干嘛的?

冰河是谁?到底是干嘛的?