Python 基本数据类型--常用方法总结
# 一、数字
# int(..)
# 二、字符串
1、replace('旧内容','新内容')用新的字符替换字符串中的旧字符
str1='my name is tony,my age is 18!'
str1=str1.replace('my','MY',1)可以指定修改的个数
'MY name is tony,my sge is 18'
2、find
3、join从可迭代对象中取出多个字符串,然后按照指定的分隔符进行拼接,拼接结果为字符串
>>>'*'.join('hello)
'h*e*l*l*o'
>>>'*'.join(['tony','18','read'])
'tony*18*read'
4、strip('*')移除左右两边指定字符
5、lstrip('*')只移除左边的指定字符
6、rstrip('*')只移除右边的指定字符
7、startswith判断字符串是否以括号内指定的字符开头,结果为布尔值True或False
8、endswith判断字符串是否以括号内指定的字符结尾,结果为布尔值True或False
9、split会按照从左到右的顺序对字符进行切分,可以指定切割次数
10、rsplit刚好与split相反,从右往左切割,可以指定切割次数
11、upper将英文字符串全都变大写
12、lower将英文字符串全都变小写
13、format类似于%s的用法,传入的值会按照位置{}一一对应
14、isdigit判断字符串是否是纯数字组成,返回结果为True或False
# tempalte = "i am {name}, age : {age}"
# # v = tempalte.format(name='alex',age=19)
# v = tempalte.format(**{"name": 'alex','age': 19})
# print(v)
# 三、列表
1、append列表尾部追加元素
2、extend一次性在列表尾部添加多个元素
3、insert在指定位置插入元素
insert(0,"tom") 0表示按索引位置插值
4、del删除
5、pop默认删除最后一个元素,并将删除的值返回,括号内可通过加索引值来指定删除元素
6、remove括号内指名道姓表示要删除哪个元素,没有返回值
7、reverse颠倒列表内元素顺序
8、sort排序时列表元素之间必须是相同数据类型,不可混搭,否则报错 默认从小到大排序
l=[11,22,3,42,7,55]
l.sort(reverse=Ture) reverse用来指定是否跌倒顺序,默认为False
[55,42,22,11,7,3]
# 四、元组
在()内用逗号分隔开多个任意值
countries=("中国","美国","英国") 本质countries=tuple("中国","美国","英国")
强调:如果元组内只有一个值,则必须加一个逗号,否则()就只是包含的意思而非定义元组
countries=("中国",) 本质countries=tuple("中国")
# 五、字典
定义:在{}内用逗号分隔开多元素,每一个元素都是key:value的形式,其中value可以是任意类型,而key则必须是不可变类型,通常key应该是str类型,因为str类型会对value有描述性的功能
info={'name':'tony','age':18,'sex':'male'}
info=dict(name='tony',age=18,sex='male')
fromkeys会从元组中取出每个值当作key,然后与none组成key:value放到字典中
info={}.fromkeys(('name','age','sex'),None)
print(info)
dic={ 'name':'xxx', 'age':18, 'hobbis':['play game','basketball'] } print (dic['hobbis'][0])
dic={ 'name':'xxx', 'age':18, 'hobbis':['play game','basketball'] } #对于赋值操作,如果key原先就不存在于字典,则会新增key:value的值 dic['gender']='male' print (dic) #对于赋值操作,如果key原先存在于字典,则会修改对应value的值 dic['name']='tony' print(dic) #长度 print(len(dic)) #成员运算in和not in print ('name' in dic) #判断某个值是否是字典的key #删除 dic.pop('name') #通过指定字典的key来删除字典的键值对 print (dic) #获取字典所有的key print(dic.keys()) #获取字典所有的value print(dic.values()) #获取字典所有的键值对 print(dic.items())
dic={ 'name':'xxx', 'age':18, 'hobbis':['play game','basketball'] } #默认遍历的是字典的key for key in dic: print (key) #只遍历key for key in dic.keys(): print (key) #只遍历value for key in dic.values(): print (key) #遍历key和value for key in dic.items(): print (key)
#coding=utf-8 dic={'k1':'jason','k2':'tony','k3':'JY'} print(dic.get('k1')) #若key值存在,则获取key对应value的值 res=dic.get('XXX') print(res) #key不存在,不会报错而是默认返回None v=dic.pop('k2') print (dic) #删除指定的key对应的键值对,并返回值 dic1={'k1':'jason','k2':'tony','k3':'JY'} item=dic1.popitem() #随机删除一组键值对,并将删除的键值放到元组内返回 print (dic1) print (item) dic2={'k1':'jason','k2':'tony','k3':'JY'} dic2.update({'k1':'JN','k4':'XXX'})#用新字典更新旧字典,有则修改,无则添加 print (dic2) dic3={'k1':111,'k2':222} res1=dic3.setdefault('k3',333) #key不存在则新增键值对,并将新增的value返回 res2=dic3.setdefault('k1',666) #key存在则不做任何修改,并返回已存在key对应的value值 print (res1) print (res2) print (dic3)
集合
定义:在{}内用逗号分隔开多个元素,集合具备以下3个特点
1:每个元素必须是不可变类型
2:集合内没有重复的元素
3:集合内元素无序
s={1,2,3,4} 本质s=set({1,2,3,4})
注意1:列表类型是索引对应值,字典是key对应值,均可以取得单个指定的值,而集合类型既没有索引也没有key与值对应,所以无法取得单个的值,而对于集合来说,主要用于去重与关系元素,根本没有取出单个指定值这种需求
注意2:{}既可以用于定义dict,也可以用于定义集合,但是字典内的元素必须是key:value的格式,现在我们想定义一个空字典和空集合,该如何准确去定义两者?
d={}默认是空字典
s=set()这是空集合
类型转换:
但凡能被for循环的遍历的数据类型(强调:遍历出的每一个值都必须为不可变类型)都可以传给set()转换成集合类型
s = set([1,2,3,4]) s1 = set((1,2,3,4)) s2 = set({'name':'jason'}) s3 = set('egon') print(s,s1,s2,s3)
合集:| 求两个集合所有元素,重复的只保留一个
1|2
交集:& 求两个集合的共同元素
1&2
差集:-
1-2 求1集合独有的元素
2-1 求2集合独有的元素
对称差集^ 求两个集合独有的元素的集合(就是去掉共同的元素)
1^2
值是否相等(==) 结果为布尔值
1==2
父集:
包含则返回True {1,2,3}>{1,2} {1,2,3}>={1,2}
不存在包含关系则返回False {1,2,3}>{1,3,4,5} {1,2,3}>={1,3,4,5}
子集:
{1,2}<={1,2,3}
去重:
1.只能针对不可变类型
2.集合本身是无序的,去重之后无法保留原来的顺序
#针对不可变类型,并且保证顺序则需要我们自己写代码实现 l=[ {'name':'lili','age':18,'sex':'male'}, {'name':'jack','age':73,'sex':'male'}, {'name':'tom','age':20,'sex':'female'}, {'name':'lili','age':18,'sex':'male'}, {'name':'lili','age':18,'sex':'male'}, ] new_l=[] for dic in l: if dic not in new_l: new_l.append(dic) print (new_l)
# 六、布尔值
# 0 1
# bool(...)
# None "" () [] {} 0 ==> False
可变数据类型:值发生改变时,内存地址不变,即id不变,证明在改变原值(列表,字典)
不可变数据类型:值发生改变时,内存地址也发生了改变,即id也变,证明是没有在改变原值,是产生了新的值(字符串,数字,元组)
访问顺序:
1.顺序访问:字符串,列表,元组
2.映射:字典
3.直接访问:数字
存放元素个数:
容器类型:列表,元组,字典
原子:数字,字符串

浙公网安备 33010602011771号