py基础数据类型
数据类型:整数、字符串、列表、元组 list=["qika","qika1","qika2","qika3","qika4"] #用一个变量名接收list数据,用中括号表示一组列表数据 #列表内可存在任何类型数据,并用逗号隔开 #list列表:增删改查 #查,切片 print(list[0])#python里面索引从0开始,0表示第一个 print(list[1:])#从第二个开始到末尾 print(list[1:-1])#从第二个到倒数第二个 print(list[1:-1:2])#从第二个到倒数第二个,步长为2(即每两步取一次) print(list[1::2])#从第二个开始到末尾,然后每两步取一次 print(list[3::-2])#从第四个开始到末尾,然后倒着取,每两步取一次 #注意!!!方向及步长:即list里面的[1:-1:2], # [1:1]默认从左到右, # 如果要从右到左倒着来,就[1:-1:-1] #添加,append,insert list.append("qika6")#添加qika6到list列表里面,,默认位置为list列表末尾。 print(list) list.insert(1,"qika9")#表示在list列表里面,insert插入到位置1,数据为qika9 print(list) #修改 list[1]="qika修改" #表示将list[1]列表内第二个,赋值修改为xxx print(list) list[1:3]=["qika修改1","qika修改2"] #表示指定list列表的范围,进行赋值修改 print(list) #删除 remove pop del list.remove("qika") #直接remove移除掉‘qika' # list.remove(list[0]) #通过列表索引进行移除某个值 print(list) list.pop(0)#通过索引下标直接进行删除(同时会返回删除的内容) print(list) #注意,如果要将删除的内容获取到:a=list.pop(0) # #只有pop()删除方法才能实现获取到删除的内容 del list[0] del list #直接删除某个对象
#列表的其他方法(内置) list=[1,2,3,4,5,6,1,2] #count方法,统计出现次数 print(list.count(1)) #extend()方法,表示将()括号内的追加到list当中去 list1=[9,10,11] list.extend(list1) print(list) #index()方法,通过index去获取括号里面的数据在list列表内的位置(下标) list.index(1) print(list) #reverse()方法,直接将list列表反转一下顺序(前后直接颠倒) list.reverse() print(list) #sort()方法从小到大排序输出 #也可sort(reverse=False\True)来排序,从小到大,或从大到小 list = ["Qika","qikala","name","password"] #注意!sort()遇到字符串时,会按ASCII码来排序 list.sort() print(list) #========================================================
#元组 #含义: 元组被称为只读列表,即:数据可被查询,但不能修改。
使用场景 如果非常确定你的对象后面不会被修改,则可以大胆使用元组。为什么?因为相比于list, tuple实例更加节省内存,这点尤其重要。 #因此,列表的切片也同样适用于元组内,元组卸载小括号(),间隔为逗号 #作用: 不想被修改的数据,可以用元组存储; # 元组还可在映射里面使用:和集合当中的成员,当做键使用, # 作为很多内建函数和方法返回值存在,而列表不行。 #另:元组虽然不能改变,但是元组能够存储可变的对象。比如list等等 tuple = () tuple2=([1,2,3],4,5,6) tuple3=(1,) #当元组内仅有一个元素时,在逗号后面加一个逗号(原因:在web框架内不会认为没有逗号的元组是元组) print(tuple3) #取值(和列表一样的) print(tuple2[0]) ''' #字典 ''' 字典是python里面的唯一的映射类型,采用键值对(key-value)的形式存储数据, python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的。 key必须是可哈希的,表示key必须是不可变类型,如:数字,字符串,元组(而可变的有:列表和字典) 字典是除列表以外python之中最灵活的内置数据结构类型,列表是有序的对象结合。字典是无序的对象集合。 区别:字典的元素是通过键来存取的,而不是通过偏移来存取 ''' #创建字典 # # 第一种方式 # dict1 ={} # #第二种方式 # dict2=dict() #工厂函数,即内置的 # dict3=dict((("name","qika"),)) #以工厂函数的方式去生成一个有具体值的字典 # dict4=dict([["name","qika"],])#容错性比较好,双小括号,双列表符号都可以 # print(dict3) # print(dict4) #增加------ dict1 = {"name":"qika","age":18} # #当使用setdefault时,字典内已有键时,直接返回字典的键对应的值 # r1=dict1.setdefault("name","qqq") # #当字典内没有要设置的这个key-value时,会直接增加到字典内,并返回值 # r2=dict1.setdefault("password",123456) # print(r1) # print(r2) #查找------- # print(dict1["name"])#通过key,来查找key对应的value值 # print(list(dict1.keys()))#查找字典内所有key值。list原因:默认是dict的一个二进制类型,转换成list才能使用 # print(list(dict1.items()))#同上,查找字典内所有的键值对。转为为list才能使用 #删除---- #del dict1["name"] #直接删除键值对 #dict1.clear() #直接清空字典,剩下一个空字典 #其他操作 #1、对多个字典、列表嵌套的查找、修改 #2、对字典的遍历 # for i in dict1: # print(i) #默认遍历key,并返回 # # for i in dict1: # print(i,dict1[i]) #遍历key,然后返回key,以及key对应的值----这种方式效率高 # # # for i,v in dict1.items(): #将字典转换为items。并返回键值---这种方式在大数据量里面,效率低 # print(i,v) #字符串 #string内置方法 str = "qikala" 以下都是内置的str操作方法(部分)