基本数据类型

一世执手 提交于 2020-03-06 11:22:24
一.列表:(list)  1.定义:能装对象的对象.  2.用["",""]来表示列表;  3.索引:一排数字,反应第某个位置的字符 索引的下标从0开始          使用[] 来获取数据, 正向从0开始,反向从-1开始  4.索引的运算:    1.+ 组合  2.* 重复   3.  5.删除与更新列表   list.append()  更新列表 为列表添加新元素   del(list)[]    删除列表中的第[]个元素   内置函数 6.使用嵌套元素列表,即在列表中创建其他列表    eg: lst1= ["Google 谷歌","IE 微软","Firefox 火狐","Safari 苹果","Opera 欧朋 "]        lst2 = ["Trident ","Webkit ","Gecko","Presto"]        lst3 = [lst1,lst2]        print(lst3) 7.切片[sta:end]   默认的方向是从左往右切        [str:end:step]  #str:起始  end: 结束  step: 步长 默认是 1 ,从右往左取,-1从右往左取 8. 复制:(abc地址没有改变,只有d变了,想要复制而不影响原列表,只有采取d方法)    a = [1, 2, 3]    b = a    c = []    c = a    d = a[:]    b[0]='b'    print (a,b,c,d)    print (id(a),id(b),id(c),id(d))    结果:        ['b', 2, 3] ['b', 2, 3] ['b', 2, 3] [1, 2, 3]        2030982357640 2030982357640 2030982357640 2030982357704  8.列表的增删改查:      (1).列表的增:          .append()   追加,在最后添加,效率比较高          .insert()   插入,需要有插入的位置与插入内容,会导致元素移动          .extend()   迭代添加,会把元素拆开,迭代列表,把元素放在列表,加双引号和逗号分开      (2).列表的删:          .pop()      默认弹出最后一个,可以指定删除(索引)          .remove()   想删除那个元素就删除那个元素          .clear()    清空          del lst[2]  关键字,删除列表元素(索引),也可以切片删除      (3).列表的改:          lst = []          lst[1] = 索引修改          lst[1:3] = [""]  会产生迭代          lst[1:3]   切片修改          lst[1:5:2] = ["",""] 如果步长是1,那么元素的个数要匹配      (4).列表的查:          列表是一个可迭代对象,可以使用for循环:                for i  in lst:                    print(i)      列表的其他操作:          .count()   计数,元素出现的次数          .sort()    排序,默认升序; sort(reverse = True)  倒叙          .reverse()  翻转          len(lst())  获取列表的长度二.元组(tuple)      定义:元组就是不可变的列表,使用()表示,元素与元素之间用,隔开      #小括号在计算机里还表示算法优先级(不可变,只能读,小括号)      tu=(1,) #加了逗号,就是元组了.      tu=tu()   空元组      元组也有索引和切片,与列表、字符串一样      不可变指的是第一层元素不可变,第二层元素取决于你的数据类型      range(边界)  #0到边界      #列表的补充          for el in lst:              print(el)          #只能拿到元素          for i in range(len(lst)):              print(lst[i])/print([i])          #既能拿到元素,也能拿到索引      不可变的数据类型:            int,str,bool,元组      解构,直接把元组或者列表中的数据拿出来:      a,b,c = (a1,b1,c1)  必须一一对应三.字典(dict)1.字典的定义:   字典以{}表示,每一项用逗号隔开,内部元素用key:value的形式来保存数据   查询的的效率非常高,通过key来查找元素,内部使用key来计算,一个内存地址(暂时),key必须是不可变得数据类型(),必须是可hash的   hash算法,    可哈希就是不可变.   unhashable   type:'list'    说明key有问题,不可哈希2.字典的增删改查    (1)字典的新增        第一种修改方法:            dic = {}            dic["徐峥"] ="人在囧途"            dic["李宇春"] = "蜀绣"            dic["张杰"]  = "天下"            dic["张杰"] = "逆战" #如果可以已经存在,那么会替换原来的value(修改)            print(dic)        第二种增加方法:dic.setdefault(key,value)        dic = {}        dic.setdefault("徐峥","人在囧途")        dic.setdefault("徐峥","我不是药神")  #如果key已存在,不会执行新增        print(dic)    (2)删除:        dic = {"jj":"林俊杰", "zjl":"周杰伦", "tz":"陶喆", "zj":"张杰",  "xz":"徐峥"}            dic.pop("jj")        #通过dic.pop来删除,指定key值来删除            dic.popitem()        #通过dic.popitem 来随机删除            del dic["jj"]        #通过del来删除指定key            dic.clear()          #清空字典    (3)字典的修改:        dic = {"jj":"林俊杰", "zjl":"周杰伦", "tz":"陶喆", "zj":"张杰",  "xz":"徐峥"}        dict = {"林俊杰":"江南", "周杰伦":"稻香", "张杰":"天下"}            1. dic["jj"]="君军"         #用key直接去去改            2.dic.update(dict #新字典)   # 如果key相同,即修改Value值;如果没有key值,则新增.    (4)字典的查询:        dic = {"jj":"林俊杰", "zjl":"周杰伦", "tz":"陶喆", "zj":"张杰",  "xz":"徐峥"}            1. print(dic["xz"])   #直接用key去查询,没有key或者key错误就会报错            2. print(dic.get("xz"))   #直接用key去查询,没有key会返回None              print(dic.get("xn","谢娜"))   #print(dic.get("原字典中没有的key","想要返回的内容"))            3.dic.setdefault()            #(1).新增(先看有没有key值,如果就跳过;如果没有,就执行新增)            #(2).根据key把值返回    字典的相关操作:       (1) dic.items()   #拿到的是键值对(key:value)          for item in items():              print(item)   #输出元组              print(item[0])  #拿到key值       (2) for k,v in dic items():               print(k)               print(v)       #当需要遍历字典,在操作中涉及到key和value    字典本身是一个可迭代对象,可以直接进行for循环:         for el in dic:    直接拿到key            print(el)            print(dic[el])    字典的嵌套:字典的嵌套,操作通过key值
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!