"""
列表加强
1.列表的常用内置函数
'append()':向列表尾部追加元素
'clear()':清除元素
'copy()':在堆内存中进行对象拷贝
'count(object)':统计某元素在列表中出现的次数
'extend()':合并列表
'index()':查找元素第一次在列表中出现的位置,如果没有这个元素则会报错
'insert(index,object)':向指定的位置追加元素
'pop(index)':与append()相反,删除列表最后一个元素,并返回值这个元素,要删除指定位置的元素,用pop(i)方法,其中i是索引位置
'remove()':通过元素来移除元素,如果元素不存在则抛出异常
'reverse()':将列表元素顺序翻转
'sort()':列表排序(只能排Int)字母按照ASCII值进行排序,类型不能混淆
2.全局函数dir()的使用
表示打印列表内部的默认函数
3.列表的运算
"""
# 1.测试dir
list1=[10,20,30,40]
print(dir(list1))
"""
['append','clear','copy','count','extend','index','insert','pop','remove','reverse','sort']
"""
# 2.测试列表的常见内置函数
list2=[78,98,100,67,87,24,60,78]
# 2.1 append(任意类型的参数)在尾部进行追加
res=list1.append("张三")
print("append执行后返回值:",res)
print("append执行后的list1:",list1)
# 2.2 copy复制
list3=list2.copy()
print(list3)
# 2.3 count(元素)返回当前参数元素在列表中出现的次数
res=list2.count(78)
print("78在列表中出现的次数",res) #2
# 2.4 len()判断容器的长度
print("列表的长度:",len(list2))
# 2.5 extend()合并列表
res=list1.extend(list2)
print("合并后的返回值列表:",res) #NONE
print("合并后的list1:",list1)
# 2.6 index(列表中的元素)根据元素找索引
res=list1.index("张三")
print(res)
# 2.7 pop():删除最后一个元素,并返回,原列表发生变化
print("原list2:",list2)
res=list2.pop()
print("pop后的返回值:",res)
print("pop后的list2:",list2)
# 2.8 反转reverse和排序sort
print("原list2:",list2)
res=list2.reverse()
print("reverse后的返回值:",res)
print("reverse后的list2:",list2)
print("排序前:",list2)
list2.sort()
print("排序后:",list2)
# 2.9 insert(添加位置索引,值)
print("原list2:",list2)
list2.insert(1,40)
print("insert后的返回值:",res)
print("insert后的list2:",list2)
# 2.10 remove()
list2.remove(40)
print("remove后的返回值:",res)
print("remove后的list2:",list2)
# 3.列表的运算 + *
list4=["zhangsan","lisi","wangwu"]
list5=[10,20,30]
print(list4+list5) #['zhangsan', 'lisi', 'wangwu', 10, 20, 30]
print(list4*3) #['zhangsan', 'lisi', 'wangwu', 'zhangsan', 'lisi', 'wangwu', 'zhangsan', 'lisi', 'wangwu']


