python零基础之基础语法迅速过(2)
今天我们简单接触一下list的填充
关键字:list填充,rang序列,map内置函数
废话不多说,让我们看下list如何填充,有两种方式
先看最简单方式:注意python中的写法,在这里有两个知识点,一个是python中的循环写法,一个是rang序列,
range序列知识请查看官网4. Built-in Types — Python 3.6.5 documentation,需要注意的是他是前闭后开的,,如上例中,包括0,不包括10。range还有一个很强大的地方是他有个步长这个参数,如range(10,0,-2)表示的是从10开始,每次递减2(即步长为-2),到0结束,不包括0.
回到刚刚如何填充list这个话题,在这个基础上能不能简化代码,来填充list呢,答案是肯定的,示下:
是不是很简洁(从java过来的同学伤不起),别急,假如此时我们想对items里面的每个元素的值加一,怎么办呢?python不会让你失望的,只需要如此:同理得到a平方,a*2等等,我们是可以对a进行处理之后放入list中的。
是的,就这么方便!再假如,我现在又有个需求,只要items中每个元素的值的两倍小于15即a*2<15,得到新的list,此时应该如何修改?别眨眼:
是不是超级舒服,不得不感叹,人生苦短,快用python!
现在说回到另一种填充list的方式,这里需要学到另一个知识点,内置函数map,官网地址:2. Built-in Functions — Python 3.6.5 documentation
map的用法先看下面一个例子:
需求,将给定的姓名的集合中的每个元素格式化,即['boB','luCy','mArRY']变成规则的首字母大写其他的小写--->['Bob', 'Lucy', 'Marry']
用map可以很方便的实现这个需求
从官网上我们可以看到map的用法格式为map(function, iterable, ...),其中第一个参数为函数,后面为一个或多个iterable(可迭代类型,后面会学习)。简而言之就是function作用于每个(假如有多个序列参数)迭代参数,并将function得到的结果作为一个可迭代类型返回。如上例所示。
如果传入两个或以上的迭代参数呢,尝试一下呗:
这段代码实现的功能就是求得以前一个集合中的数为底数,第二个集合中的数为幂数进行幂运算得到一个新的集合。