# 列表
a = ["小明", 18, "男"] # 定义列表,列表可以保存不同的数据类型
print(a)
print("\n通过下标查找")
print(a[0]) # 小明
# print(a[4]) # 如果越界则会报错
print("\n 通过index查找索引")
print(a.index(18)) # 1 如果没有找到会报错
# print(a.index(18, 0, 1)) # 报错,
print(a.count(18)) # 1 统计某个字符出现的次数
print(len(a)) # 3 获取列表的长度
# 判断数据是否存在
print("xiaoming" in ["xiaoming", "xiaowang"]) # True
print("xiaoming" not in ["xiaoming", "xiaowang"]) # False
# 插入数据
print(["小明"].append(18)) # 空,因为append是修改原来的列表
list = ["小明"]
list.append(18)
print(list) # ['小明', 18]
list.extend(["男", "未婚"]) #extend可以追加列表,如果追加的是字符串,则会将字符串拆分为每个字符组成的一个字符数组
print(list) # ['小明', 18, '男', '未婚']
list = ["小明"]
list.insert(18, 0) # 指定位置插入数据
print(list) # ['小明', 0]
# 删除数据
a = 10
del a
# print(f"-{a}-") # 报错,a对象已经不存在了
list = []
del list # 同样,可以删除, 不过此时类型还保留,对象不会完全删除
print(f"-{list}-") # -<class 'list'>-
list = ["小明"]
del(list) # 同样可以被删除
print(f"-{list}-")
# pop
list = [1, 2, 3]
list.pop() # 删除并返回最后一个元素
print(list) # [1, 2]
# remove
list = ["小明", 1, 2, 3]
print(list.remove(1)) #None 删除指定的元素, 如果指定的元素不存在,则会报错
print(list) #['小明', 2, 3]
print(list.clear()) # None 清空列表
print(list) # []
# 修改
list = [100, 200, 300]
list[0] = 1000
print(list) # [1000, 200, 300]
list.reverse()
print(list) # [300, 200, 1000] 逆序
list.sort()
print(list) # [200, 300, 1000] 排序
list.sort(reverse=True)
print(list) # 逆序
# 拷贝
list = [1]
list_1 = list.copy()