首页 > 编程语言 >python数据类型

python数据类型

时间:2022-10-31 09:56:14浏览次数:45  
标签:python 数据类型 list dict set1 res print True

  1. 数值类型
    1.1 整型int

    • 类型转换:int("10")
    • 10进制转为二进制:bin()
    • 10进制转为八进制:oct()
    • 10进制转为16进制:hex()
    • 二进制转为10进制:int("0b1011",2)
    • 八进制转为10进制:int("0o13",8)
    • 16进制转为10进制:int('0xb',16)

    1.2 浮点型float:使用同int

  2. 字符串类型
    2.1 用引号('',"",''' ''',""" """,)包含的一串字符
    2.2 类型str
    2.3 类型转换:str(xxx),可以将任意类型转为字符串
    2.4 内置方法:

    • 按索引取值(正向取+反向取) :只能取

      msg='hello world'
      # 正向取
      print(msg[0])
      print(msg[5])
      # 反向取
      print(msg[-1])
      
    • 切片[start:end:step]:索引的拓展应用,从一个大字符串中拷贝出一个子字符串

      msg='hello world'
      # 步长
      print(msg[0:5:2]) # hlo
      
      # 反向步长
      print(msg[5:0:-2]) # " le"
      
    • 默认切片:[:]、[::-1](字符串倒序)

    • 长度:len()

    • 成员运算innot in

    • 移除字符串左右两侧的符号:strip(),产生新值

      • 默认str.strip()是去掉左右空格
      • str.strip("*")去掉左右*,以此类推
      • lstrip():去掉左侧空格
      • rstrip():去掉右边空格
    • 切分:split(xxx,分割次数)按照分隔符xxx切分成列表,默认是空格

      • rsplit():从右开始分割
    • lower():大写转小写

    • upper():小写转大写

    • startswith():以xxx开头

    • endswith():以xxx结尾

    • format():字符串格式化

    • join():xx.join(list),将列表list以分隔符xx连接到一起

    • replace(目标元素,替换元素,[次数]):替换

    • str.isdigit():判断str是否由纯数字组成

      print('123'.isdigit()) # True
      print('12444.3'.isdigit()) # False
      
    • find():返回起始索引,找不到返回-1

      • rfind():从右开始查找
    • index():返回起始索引,找不到抛出异常

      • rindex():从右开始查找
    • count(xxx):返回xxx出现的个数

    • 对齐方式

      • str.center(位数,填充参数):居中对齐,填充
      • str.ljust(位数,填充参数):左对齐,其余填充
      • str.rjust(位数,填充参数):右对齐,其余填充
      • str.zfill(位数):右对齐,填充0
    • str.expandtabs(空格数):设置制表符代表的空格数

      msg='hello\tworld'
      print(msg.expandtabs(12)) # 设置制表符代表的空格数为12
      
    • str.captalize():首字母大写

    • str.swapcase():大小写字母切换

    • str.title():每个单词首字母大写

    • str.isXXX():

      print('abc'.islower())
      print('ABC'.isupper())
      print('Hello World'.istitle())
      print('123123aadsf'.isalnum()) # 字符串由字母或数字组成结果为True
      print('ad'.isalpha()) # 字符串由由字母组成结果为True
      print('     '.isspace()) # 字符串由空格组成结果为True
      print('print'.isidentifier())
      print('age_of_egon'.isidentifier())
      print('1age_of_egon'.isidentifier()) # 字符是否有效
      
      
      num1=b'4' #bytes
      num2=u'4' #unicode,python3中无需加u就是unicode
      num3='四' #中文数字
      num4='Ⅳ' #罗马数字
      
      # isdigit只能识别:num1、num2
      # print(num1.isdigit()) # True
      # print(num2.isdigit()) # True
      # print(num3.isdigit()) # False
      # print(num4.isdigit()) # False
      
      # isnumberic可以识别:num2、num3、num4
      # print(num2.isnumeric()) # True
      # print(num3.isnumeric()) # True
      # print(num4.isnumeric()) # True
      
      # isdecimal只能识别:num2
      # print(num2.isdecimal()) # True
      # print(num3.isdecimal()) # False
      # print(num4.isdecimal()) # False
      
  3. 列表类型
    3.1 索引对应值,[]中以逗号隔开任意类型的值,每一个值称为一个元素
    3.2 索引反映的是顺序、位置,对值没有描述性的功能

    nams_list = ['hyf','asd','sdfass',3,{"name":"bbb"}]
    

    3.3 类型转换: 但凡能够被for循环遍历的类型都可以当做参数传给list()转成列表
    3.4 内置方法;

    • 按索引存取值(正向存取+反向存取):即可以取也可以改,索引不存在则报错
    • 切片(顾头不顾尾,步长):list[start:end:step]切片等同于拷贝行为,而且相当于浅copy
    • len(list):返回列表长度
    • innot in:成员运算符
    • 添加值:
      • list.append():追加
      • list.insert(位置,值):插入
      • list2.extend(list1):将list1做了一层扁平化,然后追加到list2列表中
    • 删除:
      • del list[0]:只是删除没有返回值
      • list.pop([index]):默认删除最后一个,可以通过传入的下标删除,超出报错
      • list.remove(目标元素):根据元素删除,返回None
    • list.count(目标元素):返回目标元素的个数
    • list.index(目标元素):返回目标元素的下标,没找到报错
    • list.clear():返回一个空列表
    • list.reverse():列表倒序
    • list.sort([reverse=True]):默认从小到大排序,reverse=True时从大到小排序
  4. 元组:一个不可变列表

    1. 作用:按照索引/位置存放多个值,只用于读不用于改

    2. 定义:(value1,value2,....)小括号内用逗号隔开,单独一个括号代表包含的意思,如果元组中只有一个元素必须加逗号

    3. 类型转换:tuple()

      print(tuple('hello')) # ('h', 'e', 'l', 'l', 'o')
      print(tuple([1,2,3])) # (1, 2, 3)
      print(tuple({'a1':111,'a2':333})) # ('a1', 'a2')
      
    4. 内置方法:

      • 按索引取值(正向取+反向取):只能取
      • 切片(顾头不顾尾,步长)
      • len()
      • in、not in:成员运算
      • index():查找元素下标
      • count():获取目标元素在元组中的个数
  5. 字典类型

    1. 键值对,key对值有描述性的功能
    2. {key:value,...}key必须是不可变类型
    3. 定义:
      1. d = {'k1'=11,'k2'=33}

      2. d = dict(x=1,y=2,z=3)

      3. d = dict([["name",'hyf'],["age",22]])

      4. 快速初始化

        keys = ['name','age','gender']
        
        d = {}.fromkeys(keys,None)
        
    4. 内置方法:
      • 按key存取值:可存可取

      • len(dict):长度

      • 成员运算in和not in:根据key

      • 删除:

        • del dict[key]
        • dict.pop(key)
        • dict.popitem():随机删除,返回元组(删除的key,删除的value)
      • dict.keys():在python3中返回的是dict_keys,需要使用for循环取值

        d = {"k1":22,"k2":44}
        my_dict_list = d.keys() # dict_keys(['k1', 'k2'])
        for k in my_dict_list:
           print(k) # k1,k2
        # 可以使用 list函数将dict_keys转化为列表
        my_dict_list2 = list(d.keys()) # ['k1', 'k2']
        
      • dict.values():获取value值dict_values,同上

      • dict.items():获取键值对,同上

      • dict.clear():清空

      • dict.update():更新字典,

      • dict.get(key):取值,key不存在时返回None

      • dict.setdefault(key):如果key存在则不添加,否则添加。返回字典中key对应的值

        info_dict = {"k1":22}
        info_dict.setdefault("k1",555)
        print(info_dict) # {"k1":22} 因为k1存在
        info_dict.setdefault("k2",555)
        print(info_dict) # {"k1":22,"k2":555} 因为k2不存在
        
  6. 布尔类型:真假状态TrueFalse

  7. 集合

    1. 作用:

      1. 关系运算
      2. 去重
        1. 只能针对不可变类型
        2. 无法保证原有顺序
    2. 定义:在{key1,key2}中用逗号隔开多个元素,

      # 1. 集合内元素必须为不可变类型
      # 2. 集合内元素无序
      # 3. 集合内元素没有重复
      s = {1,2,1} # s = set({1,2,1})
      print(s,type(s)) # {1, 2} <class 'set'>
      
      # s = {1,[2,3]} # 报错
      # s = {1,'a','z','b',4,7} 
      # print(s,type(s)) # {1, 'z', 4, 7, 'a', 'b'}  <class 'set'>
      # 默认是空字典
      # s={} 
      # 空集合
      # s = set() # print(s,type(s))-->set() <class 'set'>
      
    3. 类型转换:set(可迭代类型)

      print(set('hello world')) # {'r', 'o', 'e', 'w', 'd', 'l', ' ', 'h'}
      print(set({'key1':2,"key2":3})) # {'key2', 'key1'}
      print(set([1,1,1,1,1,1])) # {1}
      
    4. 内置方法

      1. 取交集:两者共同部分

      2. 取并集:两者全部

      3. 取差集:某一方独有

      4. 对称差集:两方独有

      5. 父子集:包含关系

        set1 = {"zero","kevin","jason","egon"}
        set2 = {"Jy","ricky","jason","egon"}
        # 交集
        res_1 = set1 & set2
        res_2 = set1.intersection(set2)
        print(res_1) # {'egon', 'jason'} {'egon', 'jason'}
        
        # 并集
        res_3 = set1|set2
        res_4 = set1.union(set2)
        print(res_4) # {'zero', 'egon', 'kevin', 'ricky', 'Jy', 'jason'}
        
        # 取差集
        res_5 = set1 - set2 # 取set1独有
        res_6 = set2 - set1 # 取set2独有
        res_7 = set1.difference(set2) # 取set1独有
        res_7 = set2.difference(set1) # 取set2独有
        
        # 对称差集
        res_8 = set1 ^ set2 
        res_9 = set1.symmetric_difference(set2)
        
        # 父子集:issuperset 大于,issubset小于
        set3 = {1,2,3}
        set4 = {1,2}
        set5 = {1,2,4}
        res_10 = set3 > set4 
        res_11 = set3 > set5
        res_12 = set5 > set4
        print(res_10,res_11,res_12) # True false True
        
      6. set.discard(目标元素):删除目标元素,不存在时do nothing

      7. set.pop():删除最后一个,可以理解为随机删除

      8. set.remove(目标元素):删除目标元素,不存在时报错

      9. set.update(set1):更新元集合数据

      10. set.add():添加

      11. set.isdisjoint(set1):两个集合是否完全独立

标签:python,数据类型,list,dict,set1,res,print,True
From: https://www.cnblogs.com/hyf120/p/16832904.html

相关文章

  • 如何用 Python 来模拟概率
     小朋友问我一个问题,如何用Python来模拟概率. 题目是:从 [-2,-1,0,1,2,3]中随机选择两个不同的数,乘积为0的概率是多少?我搜索并思考了一下,得出以下......
  • 盘点一个高德地图Python网络爬虫中前端数据和获取数据不一致问题
    大家好,我是皮皮。一、前言前几天在Python钻石交流群【心田有垢生荒草】问了一个Python网络爬虫的问题,下图是截图:代码初步看上去好像没啥问题,但是结果就是不对,地图上显......
  • Centos8 升级python3.6版本到python3.9
    下载Python3.9.51:wgethttps://www.python.org/ftp/python/3.9.5/Python-3.9.5.tgz2:tarzxvfPython-3.9.5.tgz安装必须的包3:dnf-yinstallgcczlib*libffi-dev......
  • Python程序暂停
    (39条消息)Python基础之程序暂停_zxnode的博客-CSDN博客_python暂停程序当我们执行某些程序时,由于机器速度很快导致肉眼无法直接看到执行结果时程序便停止运行。这时候我......
  • Python简单api实现
    flask作用及简单使用Flask的简单介绍及使用方法简介_珂鸣玉的博客-CSDN博客_flask 简单api搭建importflaskapi=flask.Flask(__name__)@api.route('/test1',......
  • python学习第五周总结
    正则表达式基础字符组特殊符号量词贪婪匹配和非贪婪匹配转义符re模块re模块补充说明第三方模块下载网络爬虫模块之requests模块hashlib加......
  • 3.6 使用Python向工作表中插入_删除行与列
    插入一列.insert_cols(idx=数字编号)插入多列.insert_cols(idx=数字编号,amount=要插入的列数)插入一行.insert_rows(idx=数字编号)插入多行.insert_rows(idx=数字编......
  • Day5:Python基础:字典方法一
    1、字典增加键值Dic={'Age':18,'Name':'Jie','Sex':'male'}#增Dic['High']=160print(Dic)2、字典键值修改Dic={'Age':18,'Name':'Jie','Sex':'male'}......
  • 3.5 使用Python向Excel文件中写入数据
    1.创建工作簿和工作表workbook=openpyxl.Workbook()#创建工作簿sheet=workbook.create_sheet()#创建工作表2.向某个格子写入内容sheet[‘A1’]=‘hello,Python’3.......
  • 学习Python第一天
    日后会做出更加详细的学习心德:做出笔记如下:#创建一个文件importkeywordname="james"#1,变量的组成部分变量名称变量值变量内存id(name)#变量的内存地址print(id(......