lis = [1, 3, 2, 4]
lis1 = [1, 3, 2, 4]

#sort两个属性 len reverse
lis.sort()
lis1.sort(reverse=True)
print(lis)#[1, 2, 3, 4]

print(lis1)#[4, 3, 2, 1]

str = ['GO',"Ruby","Swift",'Dog']
str.sort()
print(str)#['Dog', 'GO', 'Ruby', 'Swift']
#根据长度排序
str.sort(key = len)
print(str)#['GO', 'Dog', 'Ruby', 'Swift']

print(dir(list))
#['__add__', '__class__', '__contains__', '__delattr__', '__delitem__',
# '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__',
# '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__',
# '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__',
# '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__',
# '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__',
# 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

#count() index() pop() 实现出栈功能
# reverse() sort()

a_list = [2, 30, 'a', [5, 30], 30]
#计算列表中30出现的次数
print(a_list.count(30))
#计算列表中[5,30]出现的次数
print(a_list.count([5, 30]))
# 2
# 1
#index(num,start,end)
print(a_list.index(30))
print(a_list.index(30, 2))
# print(a_list.index(30, 2, 4))#ValueError: 30 is not in list

stack = []
#向栈中入栈3个元素
stack.append("f")
stack.append("x")
stack.append("d")
stack.append("s")
print(stack)
#第一次出栈:最后入栈的元素被移出栈
print(stack.pop())
print(stack)
#再次出栈
print(stack.pop())
# ['f', 'x', 'd', 's']
# s
# ['f', 'x', 'd']
# d