Python21期 day2(基础数据类型)
一、基础数据类型
数据类型分类
数字
字符串
列表
元祖
字典
集合
1.1 数字 int
数字主要用于计算,使用方法不是很多,记住一条即可:
#bit_length() 当十进制用二进制表示时,最少使用的位数 v = 11 data = v.bit_length() print(data)
1.2 布尔值 bool
布尔值就两种,True,False。就是反应条件的正确与否
真 1 True
假 0 False
1.3 字符串 str
1.3.1 字符串的索引与切片
a = 'ABCDEFGHIJK' print(a[0]) print(a[3]) print(a[5]) print(a[7])
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则是顾头不顾尾)
a = 'ABCDEFGHIJK' print(a[0:3]) print(a[2:5]) print(a[0:]) #默认到最后 print(a[0:-1]) #-1就是最后一个 print(a[0:5:2]) #加步长 print(a[5:0:-2]) #反向加步长
1.3.2 字符串常用方法
#capitalize,swapcase,title name = 'oldBoy' print(name.capitalize()) #首字母大写 print(name.swapcase()) #大小写反转 msg = 'egon say hi' print(msg.title()) #单词首字母大写 a1 = 'dfsasdfsd' print(a1.center(20,'*')) #内同居中,总长度,空白处填充 ret = a1.count('s') #字符串中出现元素的个数 print(ret) #startswith,endswith ret1 = a1.startswith('df') #判断是以...开头 ret2 = a1.endswith('sd') #判断是以...结尾 #寻找字符串中的元素是否存在 ret3 = a1.find('as') print(ret3) #返回找到的元素的索引,找不到返回-1 ret4 = a1.index('dd') print(ret4) #返回找到的元素的索引,找不到报错 #split 以什么分割,最终形成一个列表 ret5 = 'title,Title,atre,'.split('t') #以字符t为分隔符 print(ret5) ret51 = 'title,Title,stre,'.rsplit('t',1) print(ret51) #format 三种方法,格式化输出 res = '{} {} {}'.format('egon',18,'male') res = '{1} {0} {1}'.format('egon',18,'male') res = '{name}{age}{sex}'.format(name='egon',age=18,sex='male') #strip 用于移除字符串头尾指定字符 name = '*egon**' print(name.strip('*')) print(name.lstrip('*')) print(name.rsplit('*')) #replace 字符替换 name='alex say :i have one tesla,my name is alex' print(name.replace('alex','SB',1)) #is系列 name='jinxin123' print(name.isalnum()) #字符串由由字母或数字组成 print(name.isdigit()) #字符串只由数字组成 print(name.isalpha()) #字符串只由字母组成
1.4 元祖 tuple
元祖被称为只读列表,即数据可以被查询,但不能被修改。所以,字符串的切片方式同样适用于元祖。例:(1,2,3) ("a","b","c")
1.5 列表 list
列表以[]括起来,每个元素以,逗号隔开,里面可以存放各种数据类型比如:
li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]
列表相比于字符串,不仅可以存储不同的数据类型,而且可以储存大量数据。32位python的限制是 536870912 个元素,64位python的
限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值
1.5.1 增
li = [1,'a','b',2,3,'a'] li.insert(1,'55') #插入,按照索引位置插入一个元素 print(li) li.append('aaa') #append,在列表最后添加 print(li) li.extend(['q','a','w']) #迭代的去增 print(li) li.extend(['q,a,w','aaa']) li.extend('a'’) li.extend('abc') li.extend('a,b,c') print(li)
1.5.2 删
l1 = li.pop(1) #按照索引位置去删,有返回值 print(l1) del li[1:3] #按照索引位置去删,也可按切片删除,没有返回值 print(li) li.remove('a') #按照元素去删 print(li) li.clear() #清空列表
1.5.3 改
li[1] = 'aaa' print(li) li[1:3] = ['b','a'] print(li)
1.5.4 查
切片去查或者循环查
1.5.5 其他操作
count (数) (统计某个元素在列表中出现的次数)
a = ["q","w","q","r","t","y"]
print(a.count('q'))
index (用于从列表中找出某个值第一个匹配项的索引位置)
a = ["q","w","q","r","t","y"]
print(a.index('q'))
sort (用于在原位置对列表进行排序)
reverse (将列表中的元素反向存放)
a = [2,1,3,4,5] a.sort() print(a) a.reverse() print(a)
1.6 字典 dict
字典是Python中唯一的映射类型,采用键值对(key - value)的形式存储数据。Python对key进行哈希函数运算,并根据计算结果决定value的存储地址,所以字典
是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,比如:数字、字符串、元祖
1.6.1 增
dic = {'age': 18, 'name': 'jin', 'sex': 'male'}
dic['li'] = ["a","b","c"]
print(dic)
#setdefault 在字典中添加键值对,如果只有键那对应的值为none。但是如果字典中存在设置的键值对时,则它不会更改或覆盖
dic.setdefault('k','v')
dic.setdefault('k','v1')
print(dic)
1.6.2 删
dic_pop = dic.pop("a",'无key默认返回值') #pop根据key删除键值对,并返回对应的值,如果没有该key,则返回默认返回值 print(dic_pop) del dic['name'] print(dic)
1.6.3 改
dic2 = {"name":"alex","weight":75}
dic2.update(dic) #将dic所有键值对覆盖添加(相同的覆盖,没有的添加)到dic2中
print(dic2)
1.6.4 查
value1 = dic['name'] #没有会报错 print(value1) value2 = dic.get('sdfasdf','默认返回值') #没有返回设定的默认返回值 print(value2)
1.6.5 其他操作
item = dic.items() print(item,type(item)) #dict_items([('age', 18), ('name', 'jin'), ('sex', 'male')]) <class 'dict_items'> keys = dic.keys() print(keys,type(keys)) #dict_keys(['age', 'name', 'sex']) <class 'dict_keys'> values = dic.values() print(values,type(values)) #dict_values([18, 'jin', 'male']) <class 'dict_values'>
字典的循环
for key in dic:
print(key)
#age
#name
#sex
for item in dic.items():
print(item)
#('age', 18)
#('name', 'jin')
#('sex', 'male')
for k,v in dic.items():
print(k,v)
#age 18
#name jin
#sex male
二、其他(for enumerate range)
for循环:按照顺序循环可迭代对象的内容
msg = '老男孩python是全国范围内最好的python培训机构' for item in msg: print(item) li = ['alex','银角','女神','egon','太白'] for i in li: print(i) dic = {'name':'太白','age':18,'sex':'man'} for k,v in dic.items(): print(k,v)
enumerate :枚举,对于一个可迭代(iterable)/可遍历的对象(列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值
for i in enumerate(li): print(i) for index,name in enumerate(li,1): #起始位置默认为0,可随意更改 print(index,name)
range: 指定范围,生成指定数字
for i in range(1,10): print(i) for i in range(1,10,2): # 步长 print(i) for i in range(10,1,-2): # 反向步长 print(i)

浙公网安备 33010602011771号