python 列表
# list
"""
使用[]定义列表
列表中的元素以逗号分隔,可以是不同的数据类型
列表的索引从左开始0开始 从右开始-1
从列表中取值时,如果 超出索引范围,程序会报错
"""
# 定义列表
my_comp = [1, '小学生', 1.78]
my_num = [1, 2, 3, 4, 5]
my_str = ['张飞', '关羽', '刘备']
print(my_comp)
print(my_num)
print(my_str)
# 访问列表数据
# 使用索引访问
print(my_comp[0])
# 使用切片访问
print(my_str[0:2])
# 更新列表
my_str[2] = '赵子龙'
print(my_str)
my_str[3] = '李世民' # 为不存在的索引赋值报错
print(my_str)
# 使用append更新列表
my_str.append("李世民")
print(my_str)
# 删除列表元素 del 从内存中删除
print(my_str)
del my_str[1]
print(my_str)
# 列表基本操作符
# len 获取列表的元素长度
print(len(my_str))
# count 获取列表中某个元素出现的次数
print(my_str.count('张飞'))
# + 将列表组合成一个列表
str1 = [1, 2, 3]
str2 = [4, 5, 6]
str3 = str1 + str2
print(str1)
print(str2)
print(str3)
# * 与数字N组合,将列表中的全部数据看做是整体重复N次
list1 = [1, 2, 6]
print(list1 * 4)
# in 判断给出的字符元素是否在列表中存在
if 20 in list1:
print("存在")
else:
print("不存在")
# 列表迭代操作
for i in list1:
print(i)
# 列表截取
str1 = ['李寻欢', '李世民', '李淳风', '李莲英']
print(str1[2])
print(str1[2:])
print(str1[1:3])
print(str1[-1])
# 列表的拼接 +=
str2 = [9]
str2 += [15, 96]
print(str2)
# 列表嵌套
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list3 = [list1, list2]
print(list1)
print(list2)
print(list3)
print(list3[0])
print(list3[0][1])
# 列表函数
list1 = ['小明', 25, 1.78, '大学', '国际贸易']
list2 = ['34', '25', '1.78', '80.66', '100']
# len(list) 列表元素个数
lens = len(list1)
print(lens)
# max(list) 返回列表元素最大值 其列表的元素中必须是同一类型的元素 数字与字符串混合会报错
max_value = max(list2)
print(max_value)
# min(list) 返回列表元素最小值 其列表的元素中必须是同一类型的元素 数字与字符串混合会报错
min_value = min(list2)
print(min_value)
# list(seq) 将元组转换为列表
tuples = (7, 9, 100)
print(list(tuples))
# 列表方法
list1 = ['小明', 25, 1.78, '大学', '国际贸易', 25]
# list.append(obj) 在列表末尾添加新的对象
list1.append('李世民')
print(list1)
# list.count(obj) 统计某个元素在列表中出现的次数
counts = list1.count('大学')
print(counts)
# list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值
list2 = ['我的童年', '我的大学', '安徒生']
list1.extend(list2)
print(list1)
# list.index(obj) 从列表中找出某个值第一个匹配项的索引位置,元素第一次出现的索引
val = list1.index('大学')
print(val)
# list.insert(index, obj) 将对象插入列表 在指定索引插入数据
list1.insert(1, '刘德华')
print(list1)
list1.insert(1, ['刘德华', '白虎上'])
print(list1)
# list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值,输入参数删除指定索引元素的值
# 不带参数 默认删除列表中最后一个元素,并返回这个元素
items = list1.pop()
print(items)
# 带参数 删除该索引指定的元素,并返回该元素
items = list1.pop(2)
print(items)
# list.remove(obj) 移除列表中某个值的第一个匹配项,重复项删除第一次出现的
list1.remove('国际贸易')
print(list1)
# list.reverse() 反向列表中元素
list1.reverse()
print(list1)
# list.sort(key=None, reverse=False) 数据排序
# 排序时数据类型需一致
list2 = ['96', '25', '1.78', '85', '74', '25']
list2.sort()
print(list2)
list2.sort(reverse=True)
print(list2)
# list.clear() 清空列表
list2.clear()
print(list2)
# list.copy() 复制列表 不是指向一个引用地址
list3 = list2.copy()
print(id(list2))
print(id(list3))