目录
一、列表
1.定义
info = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# index 0 1 2 3 4 5 6 7 8 9
# index-10 -9 -8 -7 -6 -5 -4 -2 -2 -1
列表使用 [ ] 定义,它对应的元素的索引如果从左往右数是从0开始的,如果从右往左数是从-1开始
2.增
list.insert(index,obj)
index是索引值,obj是要增加的内容
通俗来讲就是:要在索引值为index的地方增加obj
# insert方法
info = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
info.insert(2, 'python')
print(info)
# [1, 2, 'python', 3, 4, 5, 6, 7, 8, 9, 10]
info.append(obj)
obj要增加的内容
append方法是在列表末尾增加指定内容
# append方法
info = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
info.append('python')
print(info)
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'python']
info.extend(iterable)
iterable为可迭代的对象,比如列表字符串等
extend方式是将可迭代对象中的元素依次添加在列表末尾
# extend方法
info = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
info.extend('python')
print(info)
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'p', 'y', 't', 'h', 'o', 'n']
# extend方法
info = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
info.extend(['a', 'b', 'c', 11, 12, 13])
print(info)
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'a', 'b', 'c', 11, 12, 13]
3.删
del list[index] (删除指定位置的数据)
index为要删除元素的索引
info = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
del info[3]
print(info)
# [1, 2, 3, 5, 6, 7, 8, 9, 10]
list.remove(obj)
obj为要删除的列表中的元素(只能删除第一个值为obj的数据)
info = [1, 2, 3, 4, 5, 6, 7, 8, 9, 8]
info.remove(8)
print(info)
# [1, 2, 3, 4, 5, 6, 7, 9, 8]
list.pop(index)
index为要删除数据的索引值(当index不填时,默认删除末尾数据)
info = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
info.pop(8)
print(info)
# [1, 2, 3, 4, 5, 6, 7, 8, 10]
pop和del的区别:del是从内存中删除数据(慢),pop是弹出,可以用变量进行接收
info1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
num = info.pop(8)
print(num) # 9
print(info)
# [1, 2, 3, 4, 5, 6, 7, 8, 10]
info2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
del info[8]
# [1, 2, 3, 4, 5, 6, 7, 8, 10]
list.clear() 清空列表
info = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
info.clear()
print(info)
# []
4.改
list[index] = obj
index为要修改元素的索引,obj为要修改元素新的值
info = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
info[3] = '中国'
print(info)
# [1, 2, 3, '中国', 5, 6, 7, 8, 9, 10]
5.查
info.index(obj)
obj是要查找的数据
index方式是查找数据obj第一次出现的索引值
info = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
index_ = info.index(4)
print(index_)
# 3
6.其他方法
len() 查看列表的长度
info = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
length = len(info)
print(length)
# 10
list.count(obj) 统计list中obj出现的次数
info = [1, 2, 3, 1, 5, 6, 1, 8, 9, 10]
num = info.count(1)
print(num)
# 3
list.sort(reverse=False) 对列表进行升序排序
当reverse=True时,是对列表进行降序排序(当不写reverse参数时,默认reverse=False)
info = [1, 2, 3, 1, 5, 6, 1, 8, 9, 10]
info.sort()
print(info)
# [1, 1, 1, 2, 3, 5, 6, 8, 9, 10]
info = [1, 2, 3, 1, 5, 6, 1, 8, 9, 10]
info.sort(reverse=True)
print(info)
# [10, 9, 8, 6, 5, 3, 2, 1, 1, 1]
list.reverse() 对列表进行反转,即逆序
info = [1, 2, 3, 1, 5, 6, 1, 8, 9, 10]
info.reverse()
print(info)
# [10, 9, 8, 1, 6, 5, 1, 3, 2, 1]
二、列表的循环遍历
循环遍历:从头到尾依次取值
info = [1, 2, 3, 1, 5, 6, 1, 8, 9, 10]
for num in info:
print(num, end=' ')
# 1 2 3 1 5 6 1 8 9 10
enumerate函数:
info = [1, 2, 1, 5, 6, 9, 10]
for i in enumerate(info):
print(i, end=' ')
# (0, 1) (1, 2) (2, 1) (3, 5) (4, 6) (5, 9) (6, 10)
我们可以看出enumerate返回的对象中包含了一个一个的元组,每个元组中第二个元素是将列表中的值依次列出,元组中的第一个元素是第二个元素在列表中的索引
info = [1, 2, 1, 5, 6, 9, 10]
for index, num in enumerate(info):
print(index, num)
# 0 1
# 1 2
# 2 1
# 3 5
# 4 6
# 5 9
# 6 10
三、元组
元组和列表差不多,区别是元组中的元素不能修改
1.定义
info_tuple =(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
# index 0 1 2 3 4 5 6 7 8 9
# index -10 -9 -8 -7 -6 -5 -4 -2 -2 -1
列表使用 () 定义,它对应的元素的索引如果从左往右数是从0开始的,如果从右往左数是从-1开始
当元组中只有一个元素时,他的定义方法需要变化(逗号必须加)
info_tuple(1,)
info = (1)
info_tuple = (1,)
print(type(info)) # <class 'int'>
print(type(info_tuple)) # <class 'tuple'>
2.方法
tuple.index(obj) 数据obj在元组中第一次出现的索引(使用方法和列表的一模一样)
tuple.count(obj) 数据obj在元组中出现的次数(使用方法和列表的一模一样)
3.循环遍历
和列表的一模一样
4.列表与元组的相互转换
info_tuple = (1, 2, 3, 4, 5, 6)
print(type(info_tuple)) # <class 'tuple'>
info_list = list(info_tuple)
print(info_list) # [1, 2, 3, 4, 5, 6]
print(type(info_list)) # <class 'list'>
info_list = [1, 2, 3, 4, 5, 6]
print(type(info_list)) # <class 'list'>
info_tuple = tuple(info_list)
print(info_tuple) # (1, 2, 3, 4, 5, 6)
print(type(info_tuple)) # <class 'tuple'>