Python精简入门学习(五)

作者: 码市冲冲冲 | 来源:发表于2021-04-07 21:54 被阅读0次

    Python精简入门学习之高级数据类型
    -序列:

    在python当中 序列就是一组按照顺序排列的值[数据集合]。
    在python中 存在三种内置的序列类型。
    字符串、列表、元组。
    优点:
        可以支持索引和切片的操作。
    特征:
        第一个正索引为0 指向的是左端 第一个索引为负数的时候 指向的是右端。
    

    -切片:

    [高级特性] 可以根据下标来获取序列对象的任意[部分]数据。
    语法结构:[start:end:step] step默认为1
    常用的代码:
        1.capitalize()  首字母变大写
        2.endswith/startswith()  是否x结束/开始
        3.find()  检测x是否在字符串中
        4.isalnum()  判断是否是字母和数字
        5.isalpha()  判断是否是字母
        6.isdigit()  判断是否是数字
        7.islower()  判断是否是小写
        8.join()  循环取出所有值用xx去连接
        9.lower/upper  大小写转换
        10.swapcase  大写变小写 小写变大写
        11.lstrip/rstrip/strip  移除左边/右边/两边的空格
        12.split()  切割字符串
        13.title()  把每个单词的首字母变成大写
        14.replace(old,new,count=None)  old被换字符串 new替换字符串 count换多少个 无count表示全部替换
        15.count()  统计出现的次数
    
    

    -字符串操作

    T = 'China'
    print('获取第一个字符:%s'%T[0])
    print('获取第一个字符:{}'.format(T[1]))
    for i in T:
        print(i,end=' ')
        pass
    
    name = 'rose'
    print('姓名首字母转换成大写:%s'%name.capitalize())
    
    a = '     strip()移除空格     '
    b=a.strip()     # 移除两边空格
    print(b)
    print(a.lstrip()) # 移除左边空格
    print(a.rstrip()) # 移除右边空格
    print('a的内存地址为%d'%id(a))
    b = a       # 只是把a对象的内存地址赋值给了b
    print('b的内存地址为%d'%id(b))
    print(b)
    
    dataStr = 'I Love China'
    print(dataStr.find('M'))    # 可以查找目标对象在序列对象中的值 如果没有找到返回-1
    print(dataStr.index('o'))   # 检测字符串中是否包含子字符串 返回的是下标值 如果没有找到对象的数据 就会报异常 而find()不会
    print(dataStr.startswith('I'))  # 判断是否以' '开头
    print(dataStr.endswith('n'))    # 判断是否以' '结尾
    
    print(dataStr.lower())      # 转换成小写
    print(dataStr.upper())      # 转换成大写
    
    strMsg = 'hello world'
    # [start:end:step]  左闭右开 start<= value < end 范围
    print(strMsg) # 输出完整的数据
    print(strMsg[0])
    print(strMsg[2:5])  # 2-5下标之间的数据
    print(strMsg[2:])   # 第三个字符到最后
    print(strMsg[:3])   # 1-3  strMsg[0:3] = strMsg[:3]
    print(strMsg[::-1]) # 倒叙输出 负号表示方向 从右往左
    
    # 共有方法 + * in
    # 字符串合并
    strA = '人生苦短'
    strB = '我用python'
    print(strA+strB)
    # list 合并
    listA = list(range(10))
    listB = list(range(11,20))
    print(listA+listB)
    # 复制 *
    print(strA*3)
    print(listA*3)
    # in 对象是否存在 结果是bool值
    print('生' in strA)
    print(9 in listA)
    dictA = {'name':'peter'}
    print('name' in dictA)
    

    -list:

     python当中非常重要的数据结构 是一种有序的数据集合。
    特点:
        1.支持增删改查。
        2.列表中的数据是可以变化的[数据项可以变化 内存地址不会改变]。
        3.用[]来表示列表类型 数据项之间用逗号来分割 注意 数据项可以是任何类型的数据。
        4.支持索引和切片来进行操作。
    常用代码:
        1.append  在列表后面追加元素
        2.count  统计元素出现的次数
        3.extend  扩展 相当于批量添加
        4.index  获取指定元素索引号
        5.insert  在指定的位置插入
        6.pop  删除最后一个元素
        7.remove  移除左边找到的第一个元素
        8.reverse  反转列表
        9.sort  列表排序  reverse = True 倒叙
    
    

    -list操作

    li = [] #空列表
    li = [1,2,3,'你好',6,7,8]
    print(len(li)) # len() 获取列表对象中的数据个数
    strA = '我喜欢python'
    print(len(strA))
    print(type(li))
    # 查找
    listA = ['java',678,12.34,'python',True,'C#']
    print(listA)        # 输出完整的列表
    print(listA[0])     # 输出第一个元素
    print(listA[1:3])   # 输出第二个开始到第三个元素
    print(listA[2:])    # 输出第三个到最后所有的元素
    print(listA[::-1])  # 负数从右边往左开始输出
    print(listA*3)      # 复制
    
    # 增加
    print('追加前',listA)
    listA.append(["key",'fly'])  # 追加操作
    listA.append(123)
    print('追加后',listA)
    listA.insert(1,'这是刚插入的数据')  # 插入操作 需要执行一个位置插入
    print(listA)
    rsData = list(range(10))    # 强制转换为list对象
    print(type(rsData))
    listA.extend(rsData)    # 拓展等于批量添加
    listA.extend([1,2,3,4])
    print(listA)
    
    # 修改
    print('修改之前',listA)
    listA[0] = 30
    print('修改之后',listA)
    print()
    listB = list(range(10,50))
    
    # 删除
    print(listB)
    del listB[0]        # 删除列表中第一个元素
    del listB[1:3]      # 批量删除多项数据 slice
    listB.remove(20)    # 删除指定的元素
    listB.pop(1)        # 移除指定的项 参数是索引值
    print(listB)
    print(listB.index(19,20,25)) # 返回的是一个索引下标 查找19 从下标20开始查到25 长度为5 因为19不在里面所以报错
    
    

    -tuple:

    是一种不可变的序列 在创建之后不能做任何的修改。
    特性:
        1.不可变。
        2.用()创建元组类型 数据项用逗号来分割。
        3.可以是任何的类型。
        4.当元组中只有一个元素时 要加上逗号 不然解释器会当作整形来处理。
        5.同样可以支持切片操作。
    

    -元组操作

    # 元组的创建 不能进行修改
    tupleA = () # 空元组
    print(id(tupleA))
    tupleA = ('ace',81,3.14,'tony',[1,2,3])
    print(id(tupleA))
    # print(type(tupleA))
    # print(tupleA)
    # 元组的查询
    for item in tupleA:     # for循环遍历
        print(item,end=' ')
    print()
    print(tupleA[2:4])       # 表示下标2到下标4的取值
    print(tupleA[::-1])      # 倒叙输出
    print(tupleA[::-2])      # 表示反转字符串 每隔两个取值
    print(tupleA[::-3])      # 表示反转字符串 每隔三个取值
    print(tupleA[-2:-1:])    # 倒着取下标 为-2 到 -1 区间的值
    print(tupleA[-4:-2:])    # 倒着取下标 为-4 到 -2 区间的值
    
    tupleA[4][0] = 666          # 可以对元组中的列表类型的数据进行修改
    print(type(tupleA[4]))      # 查看数据类型
    print(tupleA)
    
    tupleB = ('1',) # 当元组中只有一个数据项的时候 必须在第一个数据项后面加上逗号
    print(type(tupleB))
    tupleC =(1,2,3,4,3,4,4,1)       
    print(tuple.count(4))           # 可以统计元素出现的次数
    
    

    -dict:

    是python中重要的数据类型 字典是有 键值对 组成的集合 通常使用键来访问数据 效率非常高 和list一样 支持对数据的添加、修改、删除。
    特点:
        1.不是序列类型 没有下标的概念 是一个无序的 键值集合 是内置的高级数据类型。
        2.用{}来表示字典对象 每个键值对用逗号分隔。
        3.键 必须是不可变的类型[元组、字符串] 值可以是任意的类型。
        4.每个键必定是唯一的 如果存在重复的键 后者会覆盖前者。
    

    -字典操作

    # 创建字典
    # dictA = {}   创建空字典
    dictA = {'pro':'艺术','school':'赛亚人学校'}
    # 添加字典数据
    dictA['name'] = '张三'   # key:value
    dictA['age'] = '18'
    dictA['pos'] = '讲师'
    # 结束添加
    print(dictA)        # 打印输出
    print(len(dictA))   # 数据项长度
    print(type(dictA))  # 数据类型
    
    print(dictA['name'])    # 通过键获取对应的值
    dictA['name'] = '张学友' # 修改键对应的值
    dictA['school'] = '北京邮电大学'
    dictA.update({'height':'1.80'}) # 可以添加或者更新
    print(dictA)
    
    # 获取所有的键
    print(dictA.keys())
    
    # 获取所有的值
    print(dictA.values())
    
    # 获取所有的键和值
    print(dictA.items())
    
    for item in dictA:  # 循环遍历
        print(item)
    
    for key,value in dictA.items():     # 循环遍历
        print('%s=%s'%(key,value))
    
    
    # 删除操作
    del dictA['name']   # 通过指定键进行删除
    dictA.pop('age')    # 通过指定键进行删除
    print(dictA)
    
    # 排序    按照key
    print(sorted(dictA.items(),key=lambda d:d[0]))
    # 按照value
    print(sorted(dictA.items(),key=lambda d:d[1]))
    
    

    相关文章

      网友评论

        本文标题:Python精简入门学习(五)

        本文链接:https://www.haomeiwen.com/subject/wwmqkltx.html