#!/usr/local/bin/python3
# -*- coding:utf-8 -*-
names=[‘zhangyu‘,‘mahongyan‘,‘zhangguobin‘,‘shachunhua‘]
#-----增-----
‘‘‘names.append(‘zhangzhongjian‘) #在list尾部插入一个元素
names.insert(1,‘aaa‘) #在list指定位置插入一个元素‘‘‘
#-----删-----
‘‘‘names.remove(‘zhangyu‘) #删除list中名为‘zhangyu‘的元素
del names[1] #删除list中指定位置的元素
names.pop() #默认删除list中最后一个元素
names.pop(0) #删除list中指定位置的元素‘‘‘
#-----改-----
#names[2]=‘bbb‘
#-----查-----
‘‘‘print(names[0],names[2])
print(names[0:3]) #顾头不顾尾/切片
print(names[-1]) #取最后一个
print(names[-2:]) #取最后两个
print(names[:3]) #取前两个‘‘‘
#-----查找-----
‘‘‘print(names.index(‘zhangyu‘)) #查找‘zhangyu‘在list中的下标(位置)
print(names[names.index(‘zhangyu‘)]) #根据下标取回list中相应的值‘‘‘
#-----统计-----
#print(names.count(‘zhangyu‘)) #统计‘zhangyu‘在list中出现的次数
#-----清空-----
#names.clear() #清空list中的元素
#-----反转-----
#names.reverse() #反转整个list
#-----排序-----
#names.sort() #对list进行排序,优先级为:特殊符号-->数字-->大写字母-->小写字母
#-----合并list-----
‘‘‘names2=[1,2,3,4] #将names2合并到names中
names.extend(names2)
del names2 #删除names2
print(names)‘‘‘
#-----复制-----
‘‘‘names1=[‘zhangyu‘,‘mahongyan‘,[‘aaa‘,‘bbb‘],‘zhangguobin‘,‘shachunhua‘]
names2=names1.copy()
print(names2,names1)
names1[0]=‘张宇‘
names1[2][0]=‘abc‘
print(names2,names1) #由此可以看出,当names1中元素发生变更时,names2并未完全copy names1(浅copy)
#那么如何进行深copy呢?-->引入copy模块
import copy
names1=[‘zhangyu‘,‘mahongyan‘,[‘aaa‘,‘bbb‘],‘zhangguobin‘,‘shachunhua‘]
names2=copy.deepcopy(names1) #深copy
print(names2,names1)
names1[0]=‘张宇‘
names1[2][0]=‘abc‘
print(names2,names1) #此时无论names1中元素如何变化,names2中的元素依然是初始的names1中的元素‘‘‘
#-----循环-----
‘‘‘for x in names:
print(x)‘‘‘
#-----步长切片-----
#print(names[0:-1:2])