数据类型内置方法

数据类型内置方法

概要

  • 整型和浮点型内置方法

  • 字符串内置方法

  • 列表内置方法

  • 字典内置方法

  • 集合内置方法


详情

必备知识

#查看数据类型拥有的内置方法:句点符
格式: 数据类型.
    PyCharm会自动提示该数据所有的内置方法
  • 整型和浮点型内置方法

1、整型int
int()只能转换不带小数点的数字及单个整数的字符串类型
    1.将数据类型转换成整型
    2.其他进制字符串转换成十进制
n = '222'
print(int(n))   # 222
​
n = 222
#将十进制转换成二进制
binN = bin(n)   # 0b11011110   0b开头:二进制数
#将十进制转换成八进制
octN = oct(n)   # 0o336        0o开头:八进制数
#将十进制转换成十六进制
hexN = hex(n)   # 0xde         0x开头:十六进制
'''将其他进制转回十进制数'''
print(int(binN, 2))
print(int(octN, 8))
print(int(hexN, 16))
​
2、浮点型 float
float()可以转换数字和数字类型的字符串(整数补.0)
n='888'
print(float(n)) # 888.0
n='88.88'
print(float(n)) # 88.88
n='money’
print(float(n)) # 报错 不能转换不是数字的字符串


  • 字符串内置方法

# str()可以将任意数据类型转换成字符串
name = 'Leoric'
1.len() 统计字符个数
print(len('Leoric')) #6
2.索引取值
print(name[0])       #L
3.切片取值
print(name[1:5])     # 从索引为1的字符取到索引为4的字符
4.步长/间隔取值
print(name[1:5:2])   # 每隔一个字符取个值,默认为1
5.strip() 移除字符串首位指定字符,参数默认空格
name = '¥¥Leoric¥¥'
print(name.strip(''))    # Leoric
print(name.lstrip(''))   # Leoric¥¥
print(name.rstrip(''))   # ¥¥Leoric
6.split()按照指定字符切割数据,会将切割结果组合成列表
data = 'Leoric|888|student|study'
print(data.split('|'))
# ['Leoric', '888', 'student', 'study']
print(data.split('|',1)) #参数定义切出的字符数
# ['Leoric', '888|student|study']
print(data.split('|',maxsplit = 1)) # 最大切割数
print(data.rsplit('|'))  # 从右边开始切
7. upper()/lower() 大小写转换
res = 'yr2MY'
print(res.upper()) #转大写 YR2MY
print(res.lower()) #转小写 yr2my
print(res.isupper()) #判断字符串是否是纯大写
print(res.islower()) #判断字符串是否是纯小写
8.isdigit() 判断字符串是否是纯数字
print('888'.isdigit())  # True
print('Leoric888'.isdigit())  # False
9.统计字符出现的次数
res = 'my name is Leoric Leoric Leoric'
print(res.count('Leoric'))  # 返回3
10.替换指定的字符 # 可加参数限制替换个数
res = 'my name is Leoric Leoric Leoric'
print(res.replace('Leoric', '888'))
print(res.replace('Leoric', '888', 2))
​
11.按照指定的字符拼接字符串
list1 = ['Leoric','888','Game']
print(''.join(list1))  返回# Leoric¥888¥Game
​
name1 = 'Leoric'
pwd1 = '888'
hobby1 = 'Game'
print(name1 + '' + pwd1 + '' + hobby1)
# 返回Leoric¥888¥Game


  • 列表内置方法

l1 = list('Leoric')
1.list() 只能将支持for循环的数据类型转换成列表
list('Leoric')
list({'name': 'Leoric'}) # 只能按字典的键转换,值不行
2.len() 统计元素个数
print(len(l1))  # 返回6
3.索引取值
print(l1[0])  # 返回L
4.切片/步长取值
print(l1[0:4])   # ['L', 'e', 'o', 'r']
print(l1[0:4:2]) # ['L', 'o']
5.添加列表元素
    (1)尾部追加 将参数当成"一个元素"添加到当前列表尾部
        l1.append('666') 
        # ['L', 'e', 'o', 'r', 'i', 'c', '666']
    (2)指定位置插入
        l1.insert(1, '888')
        # ['L', '888', 'e', 'o', 'r', 'i', 'c']
    (3)扩展列表
        l1.extend([0, 1, 2, 3])
        # ['L', 'e', 'o', 'r', 'i', 'c', 0, 1, 2, 3]
     '''
        不用extend扩展列表
        for n in [0, 1, 2, 3]
            l1.append(n)
     '''
    
6.删除元素
    (1)del/del() 通用的删除方法
        del l1[0]
        # ['e', 'o', 'r', 'i', 'c']
    (2)pop() 弹出元素,删除前可调用
        res = l1.pop(1)
        print(res)      # 返回 e
    (3)remove() 真正删除
7.count(元素) 统计元素出现的个数
8.sort()排序 默认升序,添加参数reverse = True改为倒序
l2 = [12,3241,435,5463,123,2]
l2.sort()
print(l2)  # [2, 12, 123, 435, 3241, 5463]
l2.sort(reverse = True)
print(l2)  # [5463, 3241, 435, 123, 12, 2]

 


  • 字典内置方法

userDict = {'userName':'Leoric', 'pwd':'666'}
1.len() 统计键值对个数
print(userDict)      # 返回2
2.按键取值
userDict['userName'] # Leoric 如果键不存在会报错
'''推荐'''
userDict.get['xxx']  # 键不存在也不会报错,返回None
3.设置值
userDict['userName']='Leoric666' #该键对应的值会被修改
userDict['xxx']='666' #键不存在则新建键值对
4.删除值 字典的键值对是整体
userDict.pop('userName') 
print(userDict)         # {'pwd': '666'}
5.小方法
keys()     # 获取字典的键,组合成列表返回
values()   # 获取字典的值,组合成列表返回
items()    # 获取字典的键值对,组合成列表返回

  • 集合内置方法

l1 = [11,22,32,11,11,22,33,44,33,45,44]
集合内元素无序
1.set() 将列表转换成集合 #去重
s1 = set(l1)
print(s1)
# {32, 33, 11, 44, 45, 22}
2.关系运算(交叉并集)
    eg:共同好友,共同点赞等
        f1 = {'Leoric', '666', '888'}
        f2 = {'222', 'Leoric', '666'}
        # 1.求共同好友
        print(f1 & f2)  # {'666', 'Leoric'}
        # 2.求f1独有的好友
        print(f1 - f2)  # {'888'}
        # 3.求f1和f2所有的好友
        print(f1|f2) # {'666', '888', 'Leoric', '222'}
        # 4.求f1和f2独有的的好友
        print(f1^f2) # {'222', '888'}
        # 5.包含关系
        print(f1<f2) # f1是否是f2的子集 False
        print(f1>f2) # f1是否是f2的父集 False

  • 作业

1、l = [11,22,33,44,55,66,77,88,99]

将列表中大于60的存入字典k1键对应的列表中
小于60的存入字典k2键对应的列表中
d = {'k1':[],'k2':[]}  
l = [11, 22, 33, 44, 55, 66, 77, 88, 99]
k1 = []
k2 = []
# 循环列表l中的值
for n in l:
    # 判断
    if n > 60:
        # 如果大于60,放入列表k1
        k1.append(n)
    else:
        # 小于60,放入列表k2
        k2.append(n)
# 将列表k1, 和k2分别作为字典d中键k1和k2的值
d = {'k1': k1, 'k2': k2}
print(d)

2、l = [11,22,33,22,11,22,66,55,77,99]

对列表元素进行去重 ​ 拔高:去重之后保持原来的顺序(不要惯性思维)

l = [11, 22, 33, 22, 11, 22, 66, 55, 77, 99]
newL = []
for n in l:             # 1.循环列表元素
    if n not in newL:   # 2.判断列表元素是否在新列表中
        newL.append(n)   # 3.是就将元素追加到新列表
print(newL)

3、有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合

pythons={'jason','egon','kevin','ricky','gangdan','biubiu'} linuxs={'kermit','tony','gangdan'}

1、求出即报名python又报名linux课程的学员名字集合

2、求出所有报名的学生名字集合

3、求出只报名python课程的学员名字

4、求出没有同时这两门课程的学员名字集合

1.print(pythons & linuxs)
2.print(pythons | linuxs) 
3.print(pythons - linuxs)
4.print(pythons ^ linuxs)

posted @ 2021-09-01 21:37  Leguan001  阅读(51)  评论(0)    收藏  举报