列表
列表的应用场景
思考:如果⼀个班级100位学⽣,每个⼈的姓名都要存储,应该如何书写程序?声明100个变量吗? 答:列表即可, 列表⼀次性可以存储多个数据。只要把逗号分隔的不同的数据项使用方括号括起来即可。
列表的创建
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。
使用 [ ] 直接创建列表
li = [1,2,3,4,"张三","李四"]
使用 list() 函数创建列表
li2 = list('123456789')相同的类型创建一个列表,
列表中可以存放任意数据类型
li2 = list('123456789') # 可迭代对象 命名变量是不要以list这个关键字作为变量名 统计长度 不管是列表还是字符串都可以统计 print(len('123456789')) # 可迭代对象 print(len([1, 2, 3, 4, 5, 6, 7, 8, 9])) name_list = ['张三', '李四', '王五','赵六'] name = input('请输⼊您要搜索的名字:') if name in name_list: print(f'您输⼊的名字是{name}, 名字已经存在') else:
列表的常用操作
列表的作用是⼀次性存储多个数据,程序员可以对这些数据进行的操作有:增、删、改、查等等。
访问列表中的值
使用索引访问列表元素的格式为:
listname[i]
name_list = ['张三', '李四', '王五','赵六']
print(name_list[0]) print(name_list[1]) print(name_list[2])
根据切片访问列表元素
使用切片访问列表元素的格式为:
listname[start : end : step] name_list = ['张三', '李四', '王五','赵六'] print(name_list[0:4:2])
通过内置函数返回列表下标
-
index():返回指定数据所在位置的下标 。
-
count():统计指定数据在当前列表中出现的次数。
-
len():访问列表长度,即列表中数据的个数。
name_list = ['张三', '李四', '王五','赵六']
print(name_list.count('Tom'))
in与not in
in:判断指定数据在某个列表序列,如果在返回True,否则返回False not in:判断指定数据不在某个列表序列,如果不在返回True,否则返回False
列表添加元素
append()方法用于在列表的末尾追加元素
name_list = ['张三', '李四', '王五','赵六']
alist = ["唱","跳","rap","篮球"]
name_list.append(alist)
print(name_list)
# ['张三', '李四', '王五', '赵六', ['唱', '跳', 'rap', '篮球']]
extend()方法用于在列表的末尾追加或者扩展元素
name_list = ['张三', '李四', '王五','赵六']
name_list.extend('阿坤')
print(name_list)
# ['张三', '李四', '王五', '赵六', '阿', '坤']
insert()指定位置新增数据
# 列表序列.insert(位置下标, 数据)
name_list = ['张三', '李四', '王五','赵六']
name_list.insert(1, '阿坤')
# 结果:['张三','阿坤', '李四', '王五','赵六']
print(name_list)
删除列表元素 del
是 Python 中的关键字,专门用来执行删除操作,它不仅可以删除整个列表,还可以删除列表中的某些元素
name_list = ['张三', '李四', '王五','赵六']
del name_list[1]
print(name_list)
# ['张三', '王五', '赵六']
pop() 删除指定下标的数据(没有指定(),默认为最后⼀个),并返回该数据。
name_list = ['张三', '李四', '王五','赵六']
name_list.pop(1)
print(name_list)
# ['张三', '王五', '赵六']
remove() 根据元素值进行删除移除列表中某个数据的第⼀个匹配项。
# 列表序列.remove(数据)
name_list = ['张三', '李四', '王五','赵六']
name_list.remove("张三")
print(name_list)
# ['李四', '王五', '赵六']
clear()清空列表
name_list = ['张三', '李四', '王五','赵六']
name_list.clear()
print(name_list)
# []
修改列表元素
Python 支持通过切片语法给一组元素赋值。在进行这种操作时,如果不指定步长(step 参数),Python 就不要求新赋值的元素个数与原来的元素个数相同;这意味,该操作既可以为列表添加元素,也可以为列表删除元素。
name_list = ['张三', '李四', '王五','赵六']
name_list[0] = '阿坤'
print(name_list)
nums = [40, 36, 89, 2, 36, 100, 7]
#修改第 1~4 个元素的值(不包括第4个元素)
nums[1: 4] = [45.25, -77, -52.5]
print(nums)