列表和元组的基础用法
1. 列表
列表常用方法
1.1 append
append: 用于在列表末尾追加新的对象
a = [1,2,3]
a.append(4) # the result: [1,2,3,4]
1.2 count
count: 统计某个元素在列表中出现的次数
a = ['a','b','c','a','a']
print(a.count('a')) # the result: 3
1.3 extend
extend: 可以在列表的末尾一次性追加另一个序列中的多个值
a = [1,2,3]
b = [4,5,6]
a.extend(b) # the result: [1,2,3,4,5,6]
1.4 index
index: 用于从列表中找出某个值第一个匹配项的索引位置
a = [1,2,3,1]
print(a.index(1)) # the result: 0
1.5 insert
insert: 用于将对象插入到列表中
a = [1,2,3]
a.insert(0,'a') # 0: 指定插入的索引位置
# the result: ['a',1,2,3]
1.6 pop
pop: 移除列表中的一个元素(默认是最后一个),并且返回该元素的值
a = [1,2,3,4]
a.pop() # the rusult: [1,2,3]
a.pop(1) # the rusult: [1,3,4]
1.7 remove
remove: 用于移除列表中某个值的第一个匹配项
a = ['aa','bb','cc','aa']
a.remove('aa') # the result: ['bb','cc','aa']
1.8 reverse
reverse: 将列表中的元素反向存放
a = ['a','b','c']
a.reverse() # the result: ['c','b','a']
1.9 sort
sort: 用于在原位置对列表进行排序,意味着改变原来的列表,让其中的元素按一定顺序排序
a = ['a','b','c',1,2,3]
a.sort() # the result: [1,2,3,'a','b','c']
1.10 enumerate
enumerate: 在字典上是枚举、列举的意思,参数为可遍历/可迭代的对象(如列表、字符串)
enumerate: 多用于在for循环中得到计数,利用它可以同时获得索引和值,即需要index和value值的时候可以使用enumerate
li = [11,22,33,44,55,66]
for k,v in enumerate(li, 1): # 1.代表 k 从哪个数字开始
print(k,v)
'''
the result: 1 11
2 22
3 33
4 44
5 55
6 66
'''
1.11 range 和 xrange
- 指定范围,生成指定的数字
- 注:python3中的range类似python2中的xrange,比如a = range(1,4) : a返回的不是列表对象而是一个可迭代对象(<class ‘range’>)
#1、range根据start与stop指定的范围以及step设定的步长,生成一个序列:range([start,] stop[, step])
#2、xrange 用法与 range 完全相同,所不同的是生成的不是一个list对象,而是一个生成器
for i in range(1,10,2):
print(i)
1.12 列表去空
# 方法1:
filter(None, your_list)
# 方法2:
while '' in your_list:
your_list.remove('')
# 方法3:
your_list = [x for x in your_list if x != '']
2. 元组
2.1 元组定义
元组和列表一样,也是一种序列,唯一的不同是元组不能修改
2.2 创建元组
#1. 创建元组
a = (1,2,3,4,5,6)
#2. 将列表转换成元组
tuple([1,2,3,4]) #the result : (1, 2, 3, 4)
2.3 列表和元组常用函数
方法 | 作用 |
---|---|
com(x,y) | 比较两个值 |
len(seq) | 返回序列的长度 |
list(seq) | 把序列转换成列表 |
max(args) | 返回序列或者参数集合中的最大值 |
min(args) | 返回序列或者参数集合中的最小值 |
reversed(seq) | 对序列进行反向迭代 |
sorted(seq) | 返回已经排列的包含seq所有元素的列表 |
tuple(seq) | 把序列转换成元组 |