# 1.# list#类
# li = [4,45,456,8,"age",["shhf",[45,"45"],"海沸江翻"],"alex"]
# #中括号括起来
# #,分割
# #列表中的元素可以是数字,字符串,布尔值,所有的都行
# #集合,内部可以放置任何东西
# print(li[3])
# print(li[3:5])
# 2.列表可以被修改
# 字符串不可修改
# li = [4,45,456,8,"age",["shhf",[45,"45"],"海沸江翻"],"alex"]
# li[1] = 120
# li[3] = [11,22,33]
# 3.删除del
# del li[1]
# 通过切片形式修改
# li[1:3] = [120,90]
# print(li)
# 4.通过切片的方式删除
# del li[2:6]
# 5.#支持in操作
# 6.#
# li = [4,45,456,8,"age",["shhf",[45,"45"],"海沸江翻"],"alex"]
# v = li[5][1][0]
# print(v)#45
#7.#字符串转换成列表
#s = 'fsdfgsdgkl;k'
#new_li = list(s)
#print(new_li)#['f', 's', 'd', 'f', 'g', 's', 'd', 'g', 'k', 'l', ';', 'k']
#8.#当既包含字符串又包含数字时只能自己写for循环
# 进行转变,将列表转换成字符串
# li = [11,22,33,"125","alex"]
# s = ""
# for i in li:
# s += str(i)
# print(s)
#9.#在最后追加
#def append(self, *args, **kwargs)
# li = [11,22,33,44]
# v = li.append(5)
# print(v)#None
# print(li)
# #[11, 22, 33, 44, 5]
# 10.#清空列表
# li.clear()
# print(li)
# 11.#复制,浅拷贝
# li = [11,22,33,44]
# # v = li.copy()
# # print(v)
#12.#计数
# li = [11,22,22,55,11,22,87,1857,7]
# v = li.count(22)
# print(v)#3
# 13.#扩展
#li = [11,22,22,55,11,22,87,1857,7]
#li.extend(["武汉",'fs'])
#print(li)#[11, 22, 22, 55, 11, 22, 87, 1857, 7, '武汉', 'fs']
# li.append(["武汉",'fs'])
# print(li)#[11, 22, 22, 55, 11, 22, 87, 1857, 7, ['武汉', 'fs']]
#14.#根据值找索引,左边优先
# li = [11,22,33,22,88,77]
# v = li.index(22)
# print(v)#1 找到第一个之后不再找了
# 15.#在指定索引位置插入元素
# li = [11, 22, 22, 55, 11, 22, 87, 1857, 7, ['武汉', 'fs']]
# li.insert(0,99)
# print(li)#[99, 11, 22, 22, 55, 11, 22, 87, 1857, 7, ['武汉', 'fs']]
# 16.#删除某个值,并获取这个值
# li = [99, 11, 22, 22, 55, 11, 22, 87, 1857, 7, ['武汉', 'fs']]
# v = li.pop()
# print(li)#[99, 11, 22, 22, 55, 11, 22, 87, 1857, 7]默认将最后一个元素删除
# print(v)#['武汉', 'fs']获取被删除的值
# li = [99, 11, 22, 22, 55, 11, 22, 87, 1857, 7, ['武汉', 'fs']]
# v = li.pop(1)
# print(li)#[99, 22, 22, 55, 11, 22, 87, 1857, 7, ['武汉', 'fs']]默认将最后一个元素删除
# print(v)#11获取被删除的值
#17.#删除列表中的指定值,左边优先
# li = [99, 22, 22, 55, 11, 22, 87, 1857, 7, ['武汉', 'fs']]
# li.remove(55)
# print(li)#[99, 22, 22, 11, 22, 87, 1857, 7, ['武汉', 'fs']]
# ps # pop remove del li[1] clear
# 16.#反转
# li = [99, 22, 22, 11, 22, 87, 1857, 7, ['武汉', 'fs']]
# li.reverse()
# print(li)#[['武汉', 'fs'], 7, 1857, 87, 22, 11, 22, 22, 99]
#17.排序
# li = [7, 1857, 87, 22, 11, 22, 22, 99]
# li.sort()
# print(li)#[7, 11, 22, 22, 22, 87, 99, 1857],从小到大拍
# li = [7, 1857, 87, 22, 11, 22, 22, 99]
# li.sort(reverse=True)
# print(li)#[1857, 99, 87, 22, 22, 22, 11, 7],从大到小排序
# 18.#列表是有顺序的
#元祖是对列表的二次加工,元素不可被修改,且元祖不能被增加或者删除
#一般写元祖时在最后多加一个号
# tu = (454,'alex',(55,33),[(12,77),Ture,])
# 19.列表,元祖,字符串之间的转换
# s = 'asdfasfo'
# li = ["dsz",1254]
# tu = ("safsgh","sdsz")
# v = tuple(s)
# print(v)#('a', 's', 'd', 'f', 'a', 's', 'f', 'o')
# v = tuple(li)
# print(v)#('dsz', 1254)
# v = list(tu)
# print(v)#[123, 123, 'sdsz']
#v = "_".join(tu)#元祖都是字符串时可以用
#print(v)#safsgh_sdsz
#数字和字母都有时需要写for循环
#20.扩展
# li = ['sada','sdsff']
# li.extend((11,58,66,))
# print(li)#['sada', 'sdsff', 11, 58, 66]
#21.元祖有序
#tu = (454,'alex',(55,33),[(12,77),33])
#元祖有序
#v = tu[3][0][0]
#print(v)#12
#22.元祖的一级元素不可修改,删除,增加
# tu = (454,'alex',(55,33),[(12,77),33])
# tu[3][0] = 567
# print(tu)#(454, 'alex', (55, 33), [567, 33])
# 23.元祖的两个方法
# tu = (11,22,22,33,22,66,77,)
# count
# index#获取指定元素,在元祖中的位置
#25.字典
# info = {
# "k1":"v1",
# "k2":"v2"#键值对
# }
#dict类
# 26.字典的value可以是任何值
#print(info)#{'k1': 18, 'k2': True, 'k3': [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2'}], 'k4': ()}
#27.列表、字典不能作为字典的key
#28.字典是无序的
#29.字典的取值
# info = {'k1': 18, 'k2': True, 'k3': [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2'}], 'k4': ()}
# v = info['k1']
# print(v)#18
# 30.寻找某个元素
# info = {'k1': 18, 'k2': True, 'k3': [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2'}], 'k4': ()}
# v = info['k3'][5]['kk1']
# print(v)#vv1
#31.删除del info[键]
# info = {'k1': 18, 'k2': True, 'k3': [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2'}], 'k4': ()}
# del info['k1']
# print(info)#{'k2': True, 'k3': [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2'}], 'k4': ()}
# 32.
info = {'k1': 18, 'k2': True, 'k3': [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2'}], 'k4': ()}
# for item in info:
# print(item)
#k1
# k2
# k3
# k4
#默认for循环时只有key
# for item in info.items():
# print(item)
# ('k1', 18)
# ('k2', True)
# ('k3', [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2'}])
# ('k4', ())
# 33.字典取值
# info.keys()
# info.values()
# info.items()
# 34.清空clear
# 复制copy
# 35.
# @staticmethod #遇到这种直接写类名,例如dict.fromkeys()
#(*args, **kwargs)#万能参数,传递什么都可以
#dic = {"k1":'v1'}
#36.根据列表,创建字典,并指定统一的值
# v = dict.fromkeys(['k1',123,'777'],6541)
# print(v)#{'k1': 6541, 123: 6541, '777': 6541}
# 37.获取值
# dic = {'k1': 6541, 123: 6541, '777': 6541}
# v = dic.get('k1')
# print(v)#6541
# 38.pop即可以删除,也可以得到删除的值
# dic = {'k1': 6541, 123: 6541, '777': 6541}
# v = dic.pop('k1')
# print(dic,v)#{123: 6541, '777': 6541} 6541
# 39.随机删除一个键值对,并取到
# dic = {'k1': 6541, 123: 6541, '777': 6541}
# k,v = dic.popitem()
# print(dic,k,v)#{'k1': 6541, 123: 6541} 777 6541
# 40.添加没有的值,已经存在,则获取当前键对的直
# dic = {'k1': 6541, 123: 6541, '777': 6541}
# v = dic.setdefault('k54','84653')
# print(dic,v)#{'k1': 6541, 123: 6541, '777': 6541, 'k54': '84653'} 84653
# 41.更新
# dic = {'k1': 6541, 123: 6541, '777': 6541}
# dic.update({'k1':'11111','k3':'99999999'})
# print(dic)#{'k1': '11111', 123: 6541, '777': 6541, 'k3': '99999999'}
# 42.
#非常重要的keys() values() items() get update
# 43.整理
# ** kwargs#见到这个可以直接传一个字典
# tempalte = "i am {name},age : {age}"
# #v = tempalte.format(name = 'alex',age = 19)
# v = tempalte.format(**{"name":'alex','age':19})
# print(v)
44.字符串常用方式(bei)
replace/find/join/strip/startwith/split/upper/lower/format
45.列表(bei)
append/extend/insert/
索引,切片,循环
46.元组常用语法
(就两个)
一级元素不能修改,增加,删除
47.字典
get/update/keys/items/values
for ,索引,切片,in操作
48.
布尔值
#bool()转换
假:None,[],() ,{},0==>False