数据类型:数据是用来表示状态的,不同的状态就应该用不同的类型的数据去表示,人们对数据进行分类,便于电脑识别
种类 6种 数字,布尔,字符串,列表,字典,集合
数字Int
数字主要用于运算
int相关方法 查询十进制转化成二进制占用的最小位数
bit_length()
print(i.bit_length()) # 查询十进制转化成二进制占用的最小位数
布尔值
True,False。就是反应条件的正确与否。
真 1 True。
假 0 False。
字符串
1,字符串的索引与切片
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚
a = 'ABCDEFGHIJK' print(a[0:3]) print(a[2:5]) print(a[0:]) #默认到最后 print(a[0:-1]) # -1 是列表中最后一个元素的索引,但是要满足顾头不顾腚的原则,所以取不到K元素 print(a[0:5:2]) #加步长 print(a[5:0:-2]) #反向加步长
字符串的14种常用方法:
与元素相关的可以切片find,startswith,find,count找元素找到的是该字符在原字符串的索引
切割和替换可以限定次数
大小写相关3种: print(name.capitalize()) #首字母大写 print(name.swapcase()) #大小写翻转 msg='egon say hi' print(msg.title()) #每个单词的首字母大写
# 内同居中,总长度,空白处填充 ret2 = a1.center(20,"*") print(ret2)
数字符串中的元素出现的个数。 # ret3 = a1.count("a",0,4) # 可切片 # print(ret3)
a4 = "dkfjdkfasf54" #startswith 判断是否以...开头 #endswith 判断是否以...结尾
# ret4 = a4.endswith('jdk',3,6) # 顾头不顾腚
# print(ret4) # 返回的是布尔值
# ret5 = a4.startswith("kfj",1,4)
# print(ret5)
#寻找字符串中的元素是否存在 # ret6 = a4.find("fjdk",1,6) # print(ret6) # 返回的找到的元素的索引,如果找不到返回-1
a4 = "dkfjdkfasf54"
ret6 = a4.find("dk",2,6)#切片返回的是元素在原字符串的索引
print(ret6)
print(a[2:-3].find('4'))返回的是新字符串中的元素的索引
# ret61 = a4.index("fjdk",4,6) # print(ret61) # 返回的找到的元素的索引,找不到报错。
#split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。一共只有俩个参数后面的参数未切割的次数 # ret9 = 'title,Tilte,atre,'.split('t') # print(ret9) # ret91 = 'title,Tilte,atre,'.rsplit('t',1) # print(ret91)
a='124347456'
print(a[:-3].split('4'))
#format的三种玩法 格式化输出 res='{} {} {}'.format('egon',18,'male') res='{1} {0} {1}'.format('egon',18,'male')#打印res18 egon 18
res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)
#strip name='*egon**' print(name.strip('*')) print(name.lstrip('*')) print(name.rstrip('*'))
#replace name='alex say :i have one tesla,my name is alex' print(name.replace('alex','SB',1))
print(name[].replace('alex','SB',1))
#####is系列 name='jinxin123' print(name.isalnum()) #字符串由字母或数字组成 print(name.isalpha()) #字符串只由字母组成 print(name.isdigit()) #字符串只由数字组成
元组
元组只能用于查看,切片,儿子不能改顺子可以改
tup1=(1,2,[1,2,3,4]) tup1[2].append(5) print(tup1)
# 元组:只读列表,只允许查询,不允许增删改
# tu1 = ('alex', 100, True, [1, 2, 3], {'name':'太白'},(22, 33))
# 索引,切片,切片+步长
# print(tu1[0])
# print(tu1[:3])
# # for 循环
# for i in tu1:
# print(i)
# index,len,count
# 应用场景: 一些非常重要的数据,不允许所有人修改的,放在元组中。
# tu1[3].append(666)
# tu1.append(666) 错的
# 元组 儿子不能改,孙子可能可以改。
# print(tu1)
列表
增 append,insert(,索引,元素), extend
l=[1,2,3] l.insert(0,5) print(l)
# li.append('aaa') #增加到最后
# li.append([1,2,3]) #增加到最后
# print(li)
#
# li.extend(['q,a,w']) #迭代的去增
# li.extend(['q,a,w','aaa'])
# li.extend('a')
# li.extend('abc')
# li.extend('a,b,c')
# print(li)
删四种 pop(index)有返回值 del 按切片删 , remove 按元素删, clear清空
# l1 = li.pop(1) #按照位置去删除,有返回值 # print(l1) # del li[1:3] #按照位置去删除,也可切片删除没有返回值。 # print(li) # li.remove('a') #按照元素去删除 # print(li) # li.clear() #清空列表
改
# 按照索引改 # l1[2] = '男神' # l1[-1] = '泰迪' # 按照切片(加步长) # 按照切片 # l1[:2] = 'sbsbsb' # l1[:4] = [11,22,33,44,55,66,77] #按照切片 + 步长 一一对应 # l1[:3:2] = 'af' # print(l1)
查
# 查 # 索引,切片,切片+步长 # for 循环 # for i in l1: # print(i)
其他 len count index sort reverse 5种
# print(len(l1)) # 查询总个数 # print(l1.count('alex')) # 某个元素出现的次数 # index 通过元素找索引 # print(l1.index('taibai')) # l2 = [5, 6, 7, 1, 4, 3, 2, 9] # sort # l2.sort() # 从小到大 # print(l2) # l2.sort(reverse=True) # 从大到小 # print(l2) # l2.reverse() # 反转 # print(l2)
字典
字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据
字典的增 2种 dic[key]=' ',dic.setdefault(key,v)
# dic['li'] = ["a","b","c"] # print(dic) # setdefault 在字典中添加键值对,如果只有键那对应的值是none,但是如果原字典中存在设置的键值对,则他不会更改或者覆盖。 # dic.setdefault('k','v') # print(dic) # {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'} # dic.setdefault('k','v1') # {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'} # print(dic)
dic={'name':1,"age":2}
dic.setdefault('a')
print(dic)
字典的删
# dic_pop = dic.pop("a",'无key默认返回值') # pop根据key删除键值对,并返回对应的值,如果没有key则返回默认返回值 # print(dic_pop) # del dic["name"] # 没有返回值。 # print(dic) # dic_pop1 = dic.popitem() # 随机删除字典中的某个键值对,将删除的键值对以元祖的形式返回 # print(dic_pop1) # ('name','jin') # dic_clear = dic.clear() # 清空字典 # print(dic,dic_clear) # {} None
字典的改dic[key]=v,或update
# 改 # dic = {"name":"jin","age":18,"sex":"male"} # dic2 = {"name":"alex","weight":75} # dic2.update(dic) # 将dic所有的键值对覆盖添加(相同的覆盖,没有的添加)到dic2中 # print(dic2)
查dic['key'] dic.get()
# value1 = dic["name"] # 没有会报错 # print(value1) # # value2 = dic.get("djffdsafg","默认返回值") # 没有可以返回设定的返回值 # print(value2)
字典的其他操作 及循环
# dic = {"name":"jin","age":18,"sex":"male"} # for key in dic: # print(key) # for item in dic.items(): # print(item) # for key,value in dic.items(): # print(key,value)
# for i in dic.values():
# print(i)
浙公网安备 33010602011771号