python中list详解

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-30 10:34   674   0

python中list详解

list相当于js中的array. array能做的事情, 差不多list都可以做到, 比如什么可变性,删除,添加,转变为字符串等基本操作

(一):我们来看一下,怎么声明一个list

name = ['sam','jimmy'] 
复制代码

(二):在python中也是很有用的三个函数 len,max,min.

1,len(): 用来获取list的长度

>>> len(lists)
5
复制代码

2,max(list|Numbers): 用来判断list中,最大的数字.

>>> max(lists)
5
>>> max(1,2,3,4,5)
5
复制代码

3,min(list|Numbers): 用来判断list中,最小的数字

另外, 这里补充一个生成有序list最快捷的方式, 使用list comprehension.即,在括号里面使用 for statement. 实际上, 就是一个list 派生出另外一个list. 看一个demo

>>> lists = [x for x in range(10)]
>>> lists
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
复制代码

range就是用来生成一个iterable

补充: range(start, stop[, step]) -> range object 具体含义就是born 一定范围的值. 比如range(10): 0~10. 回到 list comprehension, 这个表达式x for x in range(10) 实际上, 就相当于

lists = []
for x in range(10):
   lists.append(x)
复制代码

了解了LC 之后,我们就可以脱离手码lists的困扰了. python 很方便有木有

(三): python中的两个特性 切片, 迭代

1,切片

通常,我们想要获取list中的某个元素,直接使用下标即可.但是,如果你想要取出list中间连续的几个,那么就会用到切片这一神奇的功能.

>>> my_list = ['p','r','o','g','r','a','m']
>>> my_list[2:5]    # elements 3rd to 5th
['o', 'g', 'r']
>>> my_list[:-5]    # 可以使用负数的index
['p', 'r', 'o', 'g']
>>> my_list[5:]     # 从5一直到最末
['a', 'm', 'i', 'z']
>>> my_list[:]      # 获取所有的ele
['p', 'r', 'o', 'g', 'r', 'a', 'm']
复制代码

关于切片,值得衮>, 1, 2] 复制代码

(2),copy()

newOne = lists.copy();
//或者使用
newOne = lists[:]
复制代码

这样,就避免了 内存地址重叠的problem了.

7,额外方法

除了上面说了的max,min,list等转换方法外, python 内置的还有sum,all,any.

(1),sum() 返回 list中所有元素之和

sum(lists)
复制代码

(2),all() 是为了判断, lists中所有元素通过bool(ele)之后都为True,则返回True,所以,当list元素中有'',0,[]的话,则会返回False。另外,如果list为空的话,返回的也是True

(3),any() 使用bool(ele) 判断list中的每一个元素, 如果有一个为ture的话, 返回True, 相当于或的意思. 如果list为空的话返回的是False

>>> lists
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> any(lists)
True
>>> all(lists)  //存在0
False
>>> lists = []
>>> any(lists) //没有元素,不通过
False
>>> all(lists)  //没有元素,通过
True
复制代码

转载于:https://juejin.im/post/5cacb6946fb9a068985f9b15

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP