西安现在可以自由出入吗/秦皇岛seo招聘
目 录
1. 列表 list 简介
1.1 使用 [] 直接创建列表
1.2 使用 list 函数创建列表
2. 列表的切片功能
3. 处理列表的常见内置函数
3.1 len 函数
3.2 map 函数
3.3 filter 函数
3.4 reduce 函数
3.5 sum 函数
3.6 max 函数
3.7 min 函数
3.8 sorted 函数
3.9 slice 函数
3.10 enumerate 函数
3.11 any 函数
3.12 all 函数
4. 列表的内置方法
4.1 .append(val)
4.2 .clear()
4.3 .copy()
4.4 .count(val)
4.5 .extend(list)
4.6 .index(val,start=0,stop=9223372036854775807)
4.7 .insert(index,obj)
4.8 .pop(index=-1)
4.9 .remove(val)
4.10 .reverse()
4.11 .sort(key=None,reverse=False)
5. 列表和运算符
5.1 + 运算符
5.2 * 运算符
5.3 in 、not in 运算符
1. 列表 list 简介
Python 中的 list 类型,类似于数组,但是比数组功能更加强大。列表可以看作一排容器,这些容器按照下标 0、1、2.....排列,每个单独容器可以存放字符串、数值、布尔值、也可以存放列表、元组等。
1.1 使用 [] 直接创建列表
使用 [] 简单明了,可以快速创建存储少量元素的列表。
a=[0,1,2,3,4]
print(a)
print(type(a))
1.2 使用 list 函数创建列表
使用内置函数 list,可以快速的将其他类型的可迭代对象转换成 list 对象。这些可迭代对象,可以是字符串、集合、元组等等。
str1="love & love!"
a=list(str1)
print(a)
print(type(a))
2. 列表的切片功能
和字符串的切片功能类似,请参考:
Python 内置数据类型 01----字符串--江南野栀子的博客。
3. 处理列表的常见内置函数
3.1 len 函数
len 函数返回列表的长度,即元素的个数。
3.2 map 函数
map 函数对列表中的每个元素进行相同的操作,然后返回一个 map 对象,使用 list 函数可以得到相同个数的列表。
a=[0,1,2,3,4]
list(map(lambda x:x+3,a))
3.3 filter 函数
filter 函数对列表中的每个元素进行相同的操作,符合条件的元素才留下来,返回一个 filter 类型的对象。
>>> a=[0,1,2,3,4]
>>> list(filter(lambda x:x%2==0,a))
[0, 2, 4]
3.4 reduce 函数
Python 3 中 reduce 不再是内置函数,需要引入 functools 模块
reduce 函数依次对列表中的元素进行相同的迭代操作最后得到一个对象。
>>> a=[0,1,2,3,4]
>>> import functools
>>> functools.reduce(lambda x,y:x+y,a)
10
3.5 sum 函数
sum 函数,只对元素是数值的列表有效,返回列表中的元素总和,如果元素类型不是数值,则返回 TypeError。
3.6 max 函数
max 函数,返回列表中的元素最大值。
3.7 min 函数
min 函数,返回列表中的元素最小值。
>>> a=[0,1,2,3,4]
>>> sum(a)
10
>>> max(a)
4
>>> min(a)
0
3.8 sorted 函数
sorted 函数会对列表按照指定方式进行排序,请注意,使用 sorted 函数会得到一个排好序的列表,但是原列表不会改变结果。
>>> a=[99,1,0,1,2,3,4,3]
>>> sorted(a)
[0, 1, 1, 2, 3, 3, 4, 99]
3.9 slice 函数
slice 函数可以将一个列表转换成切片对象。
3.10 enumerate 函数
enumerate 函数可以将一个列表依次取出。
>>> for no,item in enumerate(a):print(no,item)0 a
1 b
2 c
3 d
3.11 any 函数
any() 函数用于判断给定的列表的所有元素是否都为 False,则返回 False,如果有一个为 True,则返回 True。
3.12 all 函数
all() 函数用于判断给定的列表的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。
4. 列表的内置方法
4.1 .append(val)
.append(val) 方法附加一个元素 val。
4.2 .clear()
.clear() 方法将列表清空。
4.3 .copy()
.copy() 方法将返回列表的拷贝(而不是和原来的列表共用同一个地址)。
4.4 .count(val)
.count() 方法计算列表中 val 元素的个数。
4.5 .extend(list)
.extend() 方法将新 list 附到当前 list 上,当前列表发生改变。
4.6 .index(val,start=0,stop=9223372036854775807)
.index 方法检测元素 val 是否在下标为 start、stop 的元素中,且返回其下标。如果 val 不在搜索的列表中,则返回 ValueError。
请注意:列表没有 .find 方法。
str1 = 'I am a nice girl!'
s=list(str1)
print(s.index("I"))
print(s.index("m",2,6))
print(s.index("I",2,6))
4.7 .insert(index,obj)
insert() 方法用于将指定对象 obj 插入列表的指定位置 index。index 可以理解为数据 obj 放置的地址,原本放置在该地址的元素和后续元素都依次往后移动一位。
str1 = 'ABCDEF!'
# insert 的 index 在正常范围内,正序插入
# 在指定的 index 放置数据
print("*"*40)
s=list(str1)
s.insert(0,"Happy!")
print(s)# insert 的 index 在正常范围内,正序插入
print("*"*40)
s=list(str1)
s.insert(1,"Happy!")
print(s)# insert 的 index 不在正常范围内,正序插入
print("*"*40)
s=list(str1)
s.insert(100,"Happy!")
print(s)# insert 的 index 在正常范围内,负序插入
# 在指定的 index 前一个地址放置数据
print("*"*40)
s=list(str1)
s.insert(-2,"Happy!")
print(s)
4.8 .pop(index=-1)
.pop(index=-1) 方法将返回一个 index 处的元素,原列表将删除该元素。如果 index 为空,则默认删除最后一个元素。如果 index 不在正常范围内,则返回 IndexError 错误。
4.9 .remove(val)
.remove(val) 方法将删除列表中的一个 val 元素,返回为空。如果 val 不在列表中,则返回 ValueError 错误。如果列表中有多个 val 元素,只删除下标最小的元素。
4.10 .reverse()
.reverse() 方法将原地翻转列表。
4.11 .sort(key=None,reverse=False)
.sort() 方法会对原列表进行排序,如果 key 为空,则按照默认的排序方法,否则按照 key中指定的排序算法排序,reverse 默认为 False,当 reverse = True 时候,排好序的列表原地翻转。
str1 = 'ABCDEF!'s=list(str1)
print("*"*40)
print("列表初始顺序")
print(s)print("*"*40)
print("按照默认方式排序")
s.sort()
print(s)print("*"*40)
print("按照离字符B最近的方案排序")
s.sort(key=lambda x:abs(ord(x)-ord("B")))
print(s)print("*"*40)
print("按照离字符B最近的方案排序,逆序")
s.sort(key=lambda x:abs(ord(x)-ord("B")),reverse=True)
print(s)
5. 列表和运算符
5.1 + 运算符
+ 运算符可以将两个列表相连。
请注意,它和列表 .extend() 方法的区别在于:
1) .extend() 方法会修改原列表,它不会,它会返回连接后的列表。
2) + 运算符,比 .extend() 方法慢很多。所以,不建议写这种代码 list1=list1+list2,建议直接写 list1.extend(list2) 。
5.2 * 运算符
* 运算符可以将列表按指定倍数递增。
str1 = 'ABCDEF!'
s=list(str1)
print("*"*40)
print("列表初始状态")
print(s)print("*"*40)
print("列表+列表形式")
s1=s+s
print(s1)print("*"*40)
print("列表*数值形式")
s2=s*3
print(s2)
5.3 in 、not in 运算符
in 运算符判断某个元素属于某个列表
not in 运算符判断某个元素不属于某个列表
str1 = 'ABCDEF!'
s=list(str1)
print("*"*40)
print("列表初始状态")
print(s)print("*"*40)
print("A\W 在列表中")
print("A" in s)
print("W" in s)print("*"*40)
print("A\W 不在列表中")
print("A" not in s)
print("W" not in s)
'''
要是大家觉得写得还行,麻烦点个赞或者收藏吧,想个博客涨涨人气,非常感谢!
'''