一.基础
1.数据类型
数字
字符串
布尔值
列表
元祖
字典
集合
2.为什么要分数据类型
数据是用来表示状态的,不同的类型就应该用不同的类型去表示
二.类型基础数据
数字
1.bit_length()---当十进制用二进制表示时最少使用的位数
i = 88 data=i.bit_length() print(data) #data=7
布尔值
布尔值就两种:True,False。就是反应条件的正确与否。
真 1 True。
假 0 False。
字符串
1.索引
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推
a = 'ABCDEFGHIJK' print(a[0]) print(a[3]) print(a[5]) print(a[7])
2.切片
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)
a = 'ABCDEFGHIJK' print(a[0:3]) print(a[3:]) print(a[-1:0:-2])
3.字符串常用方法
name="marthon" print(name.capitalize()) print(name.swapcase()) print(name.lower()) print(name.upper()) wish="god bless you" print(wish.title()) #startwith(),endwith()---可以加起始 print(name.startswith("ma")) print(name.endswith("on"))
#isdigit() #isalnum() #isalpha() str1="asljklagj9889dag" print(str1.isalpha()) print(str1.isalnum()) print(str1.isdigit())
#find()和index()的区别:当查找的内容不存在时index()会报错,find()返回-1 #find() str4="good" print(str4.find("oo")) #index() str5="good" print(str4.index("oo")) #replace(old,new,count) name="marthonar" print(name.replace('ar','er',1)) #strip() str1=" hello world " print(str1.strip()) str2="**hello*world****" print(str2.strip("*")) #split() str3="my+name+is+nancy" print(str3.split("+"))
#format()的三种用法 res1='{},{},{}'.format("nancy","18","everything") res2='{0},{1},{2}'.format("nancy","18","everything") res3='{name},{age},{hobby}'.format(hobby="everything",name="nancy",age="18") print(res1) print(res2) print(res3)
#center() str1="nancy" print(str1.center(20,"*")) #*******nancy******** #count() str2="gorooood" print(str2.count("o")) #5 #可切片 print(str2.count("o",0,4)) #2 #expandtabs() #\t前面的补全 # 默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个, # 则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个, # 以此类推每次补全8个 str3="nancy\txuege" print(str3.expandtabs())
元祖
元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")
列表
列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:
li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]
列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值
增
#增 #append():增加到最后 li = ['1','a','nancy','nice'] li.append('good') li.append([4,5,6]) print(li) #insert()---按照索引增加 li.insert(3,"very") print(li) li.insert(0,"我在最前面") print(li) #extend()--迭代的增加 li.extend("abc") print(li) #li.extend('e','f','g') #TypeError: extend() takes exactly one argument (3 given) li.extend('e,f,g') print(li) li.extend(["lala",'h,o,h,o','x','y','z']) print(li)
删
#pop()--按照位置去删,默认删除最后一个---有返回值 li=['a','1','b','2'] res=li.pop() print(res) li.pop(0) print(li) #remove()---按元素删 li.remove('b') #del--按照位置去删,也可切片,没有返回值 del li del li[0:2] #clear()----清空列表 li.clear()
改
li = [1,'a','b',2,3,'a'] li[1] = 'dfasdfas' li[1:3] = ['a','b'] li[0:2]=['9','2','hobby','lala'] print(li)
查
切片去查,或者循环去查
公共方法
#len() str1="nanacy" li=["abd",'lala','haha','a'] print(len(str1)) print(len(li)) #count() print(str1.count("a")) print(li.count("a")) #index() #--字符串有index()和find()方法,列表只有index()方法 #print(li.index("c")) #sort()--正向排序 li.sort() print(li) #sort(reverse=True) li.sort(reverse=True) print(li) #reverse()--反转 li.reverse() print(li)
公共方法补充:
str1="nancy" str2="&".join(str1) print(str2) li=['lily','lucy','haimeimei'] str3="".join(li) print(str3) tuple=('hi','good','morning') str4='-'.join(tuple) print(str4)