# 列表:可变

# 1、append 追加
a = []
a.append('Jim')
print(a) # 输出 ['Jim']

# 2、extend 批量追加
b = ['Green','Jack']
a.extend(b) # 括号里只能输入一个值
print(a) # 输出['Jim', 'Green', 'Jack']

# 3、insert 插入
a.insert(0,'Hanmeimei')
a.insert(2,'Lilei')
print(a) # 输出['Hanmeimei', 'Jim', 'Lilei', 'Green', 'Jack']

# 4、remove 删除
a.remove('Hanmeimei') # 删除的值必须存在,否则报错;如果值有重复,只能删除第一个,可以用循环删除重复值
print(a) # 输出['Jim', 'Lilei', 'Green', 'Jack']

# 5、pop 根据索引位置删除
a.pop(1) # 删除指定位置数值
print(a) # 输出['Jim', 'Green', 'Jack']
d = a.pop() # 删除最后一个数值
print(a) # 输出['Jim', 'Green']
print(d) # 获取删除的值 Jack

# 6、clear 清楚
a.clear()
print(a) # 输出[]

# 7、index 索引,根据值查找到第一个值所在的位置
a = ['Hanmeimei', 'Jim', 'Lilei', 'Green', 'Jack','Hanmeimei']
index = a.index('Hanmeimei')
print(index) # 输出0

# 8、sort 排序,如果列表里是字符串,会把字符串转换成编码再进行比对排序
e = [11,222,25,9,1]
e.sort() # 从小到大排序
print(e) # 输出[1, 9, 11, 25, 222]
e.sort(reverse=True) # 从大到小排序
print(e) # 输出[222, 25, 11, 9, 1]

# 9、reverse 列表反转
f = ['Hanmeimei', 'Jim', 'Lilei', 'Green', 'Jack','Hanmeimei']
f.reverse()
print(f) # 输出['Hanmeimei', 'Jack', 'Green', 'Lilei', 'Jim', 'Hanmeimei']

# 10、相加、相乘
g = e + f
print(g) # 输出[222, 25, 11, 9, 1, 'Hanmeimei', 'Jack', 'Green', 'Lilei', 'Jim', 'Hanmeimei']
h = f *2
print(h) # 输出['Hanmeimei', 'Jack', 'Green', 'Lilei', 'Jim', 'Hanmeimei', 'Hanmeimei', 'Jack',
# 'Green', 'Lilei', 'Jim', 'Hanmeimei']

# 11、in \not in判断元素是否在列表里
if 'Hanmeimei' in h:
h.remove('Hanmeimei')
print(h) # 输出['Jack', 'Green', 'Lilei', 'Jim', 'Hanmeimei', 'Hanmeimei', 'Jack', 'Green', 'Lilei', 'Jim', 'Hanmeimei']

# 12、len 获取长度
print(len(h)) # 输出 11

# 13、步长
i = ['Hanmeimei', 'Jim', 'Lilei', 'Green', 'Jack', 'Sun','Li','Long']
print(i[::-1]) # 输出 ['Long', 'Li', 'Sun', 'Jack', 'Green', 'Lilei', 'Jim', 'Hanmeimei']
print(i[4:1:-1]) # 输出 ['Jack', 'Green', 'Lilei']

# 14、for 循环
for index in range(len(i)):
print(i[index]) # 输出

# 15、循环来删除相应数值
for j in i:
if j.startswith('L'):
i.remove(j)
print(i) # 输出 ['Hanmeimei', 'Jim', 'Green', 'Jack', 'Sun', 'Long']
# 结果并未完全删除L开头元素,
# 千万不能在循环的过程中,边循环边删除元素
# 可以倒着处理
for m in range(len(i)-1,-1,-1):
n = i[m]
if n.startswith('L'):
i.remove(n)
print(i) # 输出 ['Hanmeimei', 'Jim', 'Green', 'Jack', 'Sun']