列表的定义:
Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组,
专门用于储存 一串 信息,能够同时定义多个 变量(变量的类型可以相同,也可以不同)
列表的特点:
1. 列表用 [ ] 定义,数据 之间使用“,”分隔
list1 = ["张三", "李四", "王五"]
2. 列表的 索引 从 0 开始 ---> 索引是数据在 列表 中的位置编号,又称为下标
print(list1.index("李四")) # 通过值 取 索引--->1
3. 通过 索引 取值/元素
print(list1[0]) # ---->张三
# 注意:从列表中取值时,如果 超出索引范围,程序会报错
列表的赋值:
name_list = ["zhangsan", "lisi", "wangwu"]
print(name_list[1]) #---->'lisi'
print(name_list[2]) #--->'wangwu'
print(name_list[3]) #报错
num_list = [1,2,3,4,5,6,7,8,9]
列表的常用操作:
1. 增加:
列表.insert(索引,数据) | 在指定位置插入数据 |
列表.append(数据) | 在末尾追加数据 |
列表.extend(列表2) | 将列表2的数据追加到列表, 注意:extend不等同与 “+=”,对应id不同 |
# 定义一个列表
name_list = ["张三", "李四", "王五"]
name_list1 = ["小王", "小李", "小美"]
# 增加元素:
# 1.列表.append(数据) # 追加---> 在末尾添加元素
name_list.append("赵六")
print(name_list) #----->['张三', '李四', '王五', '赵六']
# 2.列表.insert(索引,数据) # 在某个位置 插入元素
name_list.insert(3, "Bob")
print(name_list) #----->['张三', '李四', '王五', 'Bob', '赵六']
# 3.列表.extend(列表2)
name_list.extend(name_list1)
print(name_list)
#--->['张三', '李四', '王五', 'Bob', '赵六', '小王', '小李', '小美']
" extend " & " += "的区别:
str1 = "AAA"
str2 = "BBB"
print(id(str1)) #--->2172258877936
#str1.extend(str2)
#print(id(str1)) #--->*2172258877936
str1 += str2
print(id(str2)) #--->2172263520368
2. 修改:
列表[索引] = 数据 | 修改指定索引的数据 |
name_list = ["张三", "李四", "王五"]
name_list[1]="zhaoliu"
print(name_list) #--->['张三', 'zhaoliu', '王五']
3. 删除:
Del列表[索引] | 删除指定索引的数据 |
列表.remove[数据] | 删除第一个出现的指定数据 |
列表.pop | 删除末尾数据 |
列表.pop(索引) | 删除指定索引数据 |
列表.clear | 清空列表 |
# 删除数据.remove(value)
name_list.remove("张三")
print(name_list)
#---> ['李四', '王五', 'Bob', '赵六', '小王', '小李', '小美']
# .pop() # 删除元素时,可以在括号里面指定索引,如果不指定,默认删除最后一个元素
name_list.pop()
print(name_list)
#---> ['李四', '王五', 'Bob', '赵六', '小王', '小李']
# .clear() # 清除列表中所有的元素
# name_list.clear()
# print(name_list) #--->[]
# del 关键字
# del name_list # 表示将这个列表从内存中 删除
# print(name_list) #--->报错
del name_list[0]
print(name_list)
#---> ['王五', 'Bob', '赵六', '小王', '小李']
4. 统计个数:
Len(列表) | 列表长度 |
列表.count(数据) | 数据在列表冲出现的次数 |
# 统计元素个数 len()
result = len(name_list)
print(result) #--->5
name_list.append("小李")
# 统计 某个元素在列表中出现的次数
print(name_list.count("小李")) #-->2
name_list2 = ['小李', '王五', 'Bob', '小王', '小李']
# 使用 remove 会删掉几个小李?----》 1个,而且是 索引值小的那一个(最靠前的)
name_list2.remove("小李")
print(name_list2)
#--->['王五', 'Bob', '小王', '小李']
5. 排序:
列表.sort() | 升序排列 |
列表.sort(reverse=True) | 降序排列 |
列表.reverse() | 逆序、反转 |
#
num_list = [105, 33, 67, 802, 779, 1, 55]
# .sort() # 将元素按照 从小到大的顺序排列--> 升序
num_list.sort()
print(num_list) #--->[1, 33, 55, 67, 105, 779, 802]
# 降序
num_list.sort(reverse=True)
print(num_list) #--->[802, 779, 105, 67, 55, 33, 1]
# .reverse() # 逆序
num_list.reverse()
print(num_list) #--->[1, 33, 55, 67, 105, 779, 802]
循环遍历列表:
从头到尾 依次 从 列表中获取数据,循环体内部 针对 每一个元素,执行相同的操作
使用 for 就能够实现迭代遍历:
#for 循环内部使用的变量 in 列表
for name in name_list:
#循环内部针对列表元素进行操作
print(name)