# Auther: Aaron Fan

names = ["aaron", "alex", "james", "meihengfan"]
names2 = [1,2,3,4,5]
print(names)

#
#print(names)            #列出列表的内容
print(names[3])         #访问列表中第4个值
print(names[1:3])       #访问列表中从第2个到第3个的值
print(names[-1])        #访问列表中的最后一个值
print(names[:-2])       #访问列表中的所有值,但是把倒数第二个及后面的所有值都去掉
print(names[-3:])       #访问列表中倒数第一个到倒数第三个的值
print(names[0],names[3])    #注意取多个值的时候,不能直接把下标写到一起,需要按照这种方式写
print(names[::2])       #打印列表,但是以2为步长,就是跳着切,也可以根据需求把这个步长给改了

print(names.index("james"))         #查找列表中james这个元素的下标
print(len(names))                   #确定列表的长度


#
names.append("jack")                                #在列表末尾插入一个元素
names.insert(1,"fanheng")                           #fanheng插入到第二个位置那里

#
names[2] = "liming"                                 #把第三个位置的元素改成liming

#
names.remove("liming")                              #把元素liming从列表中删除
del names[2]                                        #把第三个元素删除,必须知道元素的索引
#del names                              #直接删除列表
names.pop()           #默认删除列表末尾的元素,当然也可以直接指定元素的下标去弹出一个指定的元素,并让你等够接着使用它
#每当你使用pop时,被弹出的元素就不再在列表中了。
#pop把一个元素从列表中弹出来了,被弹出来的值,可以直接赋给其它变量使用,比如:
popend_name = names.pop()
print(popend_name)
#names.clear()           #清空列表,危险操作,请慎用

#其它操作
#names.reverse()                     #把列表反转,就是把原有顺序完全反过来了

#排序
#names.sort()                        #把列表永久性的排序
print(sorted(names))                #对列表进行临时性的排序

#合并列表
names.extend(names2)                #names2的东西合并到names里面
print(names)