• 搞定Python常用的数据结构


    python基本数据类型

    • 数字类型
      • 具体运算中数据的类型
      • 不同情况下的布尔类型
    • 各进制的表示与转换
      • 进制的表示
      • 进制的转换
    • 序列
      • str字符串
      • 列表(list)
      • 元组(tuple)
      • 序列总结
    • 集合(set)
    • 字典(dict)
    • 转义字符
    • 知识点总结

    首先需要你的电脑安装好了Python环境,并且安装好了Python开发工具。

    数字类型

    • 整数:int
    • 浮点数:float

    python中的数据类型仅有int和float两种(没有如short,long,double之分)

    具体运算中数据的类型

    这里查看各种情况的数据类型运用到了python中的type函数

    print(type(1))
    print(type(-1))
    print(type(1.1111))
    print(type(1+1))
    print(type(1+1.0))  # 由于1.0为float类型,python将1+1.0自动转化为float类型
    
    print(type(1*1))
    print(type(1*1.0))
    #  python中的除法使用'/'结果为float类型,使用"//"为int类型
    print(type(2/2))
    print(type(2//2))
    print(type(1//2))  # 与其他语言类似python中整除会忽略小数点后数字
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    运行结果:
    在这里插入图片描述
    小结:

    • 1、只要式子中出现了浮点型数字(小数)最终整体类型都会变成float类型
    • 2、使用’/'结果为float类型,使用"//"为int类型(第一点优先级最高)
    • 3、python中整除会忽略小数点后数字,向下取整
      布尔类型:bool python中,布尔类型也是数字的一种

    不同情况下的布尔类型

    #  bool类型包括 True和 False两种
    print(type(True))
    print(type(False))
    #  将bool类型转换为int类型
    print(int(True))
    print(int(False))
    #  python中0为假,非0为真(无论进制)
    print(bool(1))
    print(bool(0))
    print(bool(2.2))
    print(bool(0b10))
    #  对字符串取布尔值
    print(bool('abc'))
    print(bool(''))
    #  对列表取布尔值
    print(bool([1,2,3]))
    print(bool([]))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    运行结果:
    在这里插入图片描述
    小结

    • True和False开头需大写

    • 数字中:0为False,其他均为True;在其他类型中:空为False,非空为True

    各进制的表示与转换

    进制的表示

    • 二进制:0b
    • 八进制:0o
    • 十六进制:0x
    # 二进制标识符为 0b,打印输出其代表的十进制数
    print(0b10)
    print(0b11)
    # 八进制标识符为 0o,打印输出其代表的十进制数
    print(0o10)
    print(0o11)
    # 十六进制标识符为 0x,打印输出其代表的十进制数
    print(0x10)
    print(0x1F)
    # 输入数字默认为十进制
    print(10)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    结果:
    在这里插入图片描述

    小结:需牢记各种进制的表示形式

    进制的转换

    • 转换为二进制(binary):bin()
    • 转换为八进制(octal):oct()
    • 转换为十进制:int()
    • 转换为十六进制(hexadecimal):hex()
    # 转换为二进制
    print(bin(10))
    print(bin(0o7))
    print(bin(0xE))
    # 转换为八进制
    print(oct(0b111))
    print(oct(0x777))
    # 转换为十进制
    print(int(0b111))
    print(int(0o777))
    # 转换为十六进制
    print(hex(888))
    print(hex(0b111))
    print(hex(0o7777))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    运行结果:
    在这里插入图片描述

    序列

    str字符串

    • 字符串类型表示为单/双引号内的内容,由于英文语句中可能出现单引号的情况(Let’s go),此时可使用双引号扩起字符串中的内容
    print("Let't go")
    print('Let't go')  #  其中此语句会报错
    
    • 1
    • 2

    运行结果:

    在这里插入图片描述

    字符串的运算

    • 两字符串间可相加拼接成一个字符串

    • 字符串乘上一个数n,得到n个该字符串

    #  字符串的运算
    print("he"+"llo")
    print("hello"*3)
    
    • 1
    • 2
    • 3

    结果

    在这里插入图片描述

    获取单个字符

    • 在str后添加[i](i代表想要获取str中的位置下标),可获取指定位置字符
    #  输出指定位置的字符
    print("hello world"[0])
    print("hello world"[1])
    print("hello world"[2])
    print("hello world"[-1])
    print("hello world"[-2])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    结果
    在这里插入图片描述

    其中i可为负数,代表获取倒数第i位的数字

    获取指定区间内的字符串

    • 使用‘:’对起始位置和末尾位置进行连接,如:[m:n+1]表示截取str中下标为m~n+1的字符串进行截取(n+1位置取开区间) [m:]则表示由下标为m的位置一直截取到末尾

    截取指定区域的字符串

    print("hello world"[0:5])
    print("hello world"[-5:11])
    print("hello world"[-5:])
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    列表(list)

    列表存储的数据类型

    • 列表中可存储任意元素
    #  列表可存储的类型
    print(type([1, 2, 3, 4, 5]))
    print(type(["hello", 1, False]))
    print(type([[1, 2], [3, 4], [True, False]]))  # 嵌套列表
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    读取列表中的元素

    • 读取列表中的元素方法与str相同
    #  读取列表中的元素
    print(["hello", "world"][0:])  # 和str类型的读取方式相同
    
    • 1
    • 2

    在这里插入图片描述

    列表的运算

    • 与str的运算相似
    #  列表的运算(和str的运算相似)
    print(["hello", "world"] + ["hello", "world"])
    print(["hello", "world"] * 3)
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    元组(tuple)

    • 元组的基本使用方法,存储数据的规则和列表相同,它们的区别主要在以下几点:
    • 列表是动态数组,它们可变且可以重设长度(改变其内部元素的个数)。
    • 元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变。
    • 元组缓存于Python运行时环境,这意味着我们每次使用元组时无须访问内核去分配内存。

    对元组的基本操作

    #  元组存储是数据类型
    print(type((1, 2, 3, 4, 5)))
    print(type((1, 2, "hello", [1, 2, 3], True)))
    #  获取指定位置元素
    print((1, 2, 3, 4)[2])
    #  获取指定区域元素
    print((1, 2, 3, 4)[1:])
    print(type((1, 2, 3, 4)[1:]))  # 返回类型为tuple
    #  元组的运算
    print((1, 2, 3, 4)+(5, 6))
    print((1, 2, 3, 4)*2)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    序列总结

    • 提取指定位置元素方法:序列后面紧跟[i]
    • 提取指定区间元素方法:序列后面紧跟[m : n](m,n为区间下标,n为开区间)
      序列这种类型对其中的元素操作方法完全相同

    集合(set)

    • 集合中的数据是无序的,故不能用下标进行访问

    • 集合中的元素不重复

    集合的运算

    • 集合的运算方法和数学中集合运算方法相同
    #  求两个集合的差集
    print({1, 2, 3, 4, 5, 6} - {2, 3})  # '-'为求差集的符号
    #  求两个集合的交集
    print({1, 2, 3, 4, 5, 6} & {2, 3})  # '&'为求交集的符号
    #  求两个集合的并集
    print({1, 2, 3, 4, 5, 6} | {5, 6, 7})  # '-'为求差集的符号
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    • 空集合的定义:
    >>> set()
    
    • 1

    字典(dict)

    • 字典和集合定义的区别:dict:{key1:value1,key2:value2…} set:{value1,value2…}
    • 字典中的键不能重复也不可变(如list列表就是可变类型)
    • 空字典用{}表示
    #  字典类型的输入格式
    print(type({1: 1, 2: 2, 3: 3}))
    #  字典的使用
    print({1:"Hello", 2:"world"}[2])
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    转义字符
    在这里插入图片描述

  • 相关阅读:
    将Long类型转化为IP字符串
    达梦 DM管理工具
    Oracle 安装及 Spring 使用 Oracle
    怎么将语音转换成文字?这两种转换方法极其简单
    Spring-aop技术
    原生CLI指令构建npm run减少硬盘node_modules的开销
    mysql中varchar长度为多少
    R语言ggplot2可视化地图并使用scale_fill_gradient函数自定义设置地图颜色刻度为灰色梯度刻度(grey gradient scales)
    PSO粒子群优化算法
    Nginx几种负载均衡方式介绍
  • 原文地址:https://blog.csdn.net/z099164/article/details/125477882