• Python的数据类型与数据结构


    对Python的数据类型与数据结构进行的复习,基本的数据类型与数据结构都已经概况出了。大家可以参考学习。如有有错误的地方,希望留言告诉我。

    数据类型

    Python

    数据主要分为:

    • 整数型 ;数字的整数  
    • 浮点型; 数字带小数
    • 字符串; 用 ‘’ 或者 “” 引用的任意文本
    • 布尔型;只有 True 和 False

    数据结构分为:

    • 列表 list
    • 元祖 tuple
    • 字典 dict
    • 集合 set

    接下来用代码详细解释数据类型;

    python的type()方法可以得数据类型,

    例如:

    当不确定变量 a 是什么数据类型的时候,可以通过print(type(a))打印出a 的数据类型

    #整数型;可以为正数也可以为负数,也可以为0
    a=100
    b=0
    c=-2
    print(a,b,c)
    输出:100 ,0, -2
    #浮点型,带有小数的数值
    a=1.2
    b=0.12
    print(type(a),a)
    print(type(b),b)

    输出:<class 'float'> 1.2
         <class 'float'> 0.12
    #布尔型
    a=True
    b=False
    print(a,b)

    输出:
    True False
     
    #字符串
    print("Hello,Python")
    print('H')
    
    Hello,Python
    H

    布尔值详解

    布尔值可以用 and  or not 来进行运算,得到结果也是布尔值

    a=True
    b=False
    # and 运算
    c1=a and a
    c2= a and b
    c3= b and b
    # or 运算
    d1=a or a
    d2= b or b
    d3= a or b
    # not 运算
    e1= not a
    e2= not b
    
    print(c1,c2,c3)
    print(d1,d2,d3)
    print(e1,e2)
    
    输出:
    True False False
    True False True
    False True

    逻辑运算(and,or,not )

    and 运算中,代码中a为真,b为假。 and 运算中如果有一个变量为假,则得到结果就为假。两个变量为真,得到结果为真;

    or 运算中,只要一个运算的变量为真,得到结果则为真。如果两边变量都为假,则为假

    not 和容易,就是取相反的。例如 a为真(True),则 not a  为假(False)


    数据结构

    列表-list

    list是一种有序的集合,可以随时添加和删除其中的元素。

    创建列表 用 【】符号

    list索引为0开始的,索引0 表示第1个元素,以此类推

    切边活用,可以更好的查询数据

    #创建一个list 列表
    L=[1,"hello",True,1.2]
    print(L)#打印出L列表
    print(len(L))#利用len()方法查询列表的长度
    print(L[0],L[1])#根据索引 查询 列表中的数据,索引是从0 开始的
    #切片方法活用
    print(L[0:2])# 切片 从索引0 到 1提取list的元素
    print(L[1:0])#q切片  从索引1到最后的元素全部提取
    print(L[-1])#提取倒数第一个元素
    print(L[-3:0])#倒数第三个元素 往后提取
    print(L[::2])#切片 步长为2
    print(L[::-1])#倒叙 打印出list
    [1, 'hello', True, 1.2]
    4
    1 hello
    [1, 'hello']
    []
    1.2
    []
    [1, True]
    [1.2, True, 'hello', 1]

    增加元素

    #创建一个list 列表
    """
    append方法每次只能在末尾填入一个元素;
    insert方法可在指定的位置插入一个元素;
    """
    L=[1,"hello",True,1.2]
    print(L)#打印出L列表
    L.append('python')#在列表的最后插入元素
    print(L)
    L.insert(0,"Love")
    print(L)
    [1, 'hello', True, 1.2]
    [1, 'hello', True, 1.2, 'python']
    ['Love', 1, 'hello', True, 1.2, 'python']

    删元素

    """
    pop方法在不指定参数时默认删除末尾元素,也可以指定删除某个位置的元素;
    remove方法删除指定的元素值;
    clear方法清空列表元素;
    del函数删除列表对象;
    """
    L.pop()#末尾删除一个元素
    print(L)
    L.pop(1)#指定一个位置删除一个元素
    print(L)
    L.remove(True)
    print(L)
    L.clear()
    print(L)
    ['Love', 1, 'hello', True, 1.2]
    ['Love', 'hello', True, 1.2]
    ['Love', 'hello', 1.2]
    []
    copy方法复制一个物理对象,而非视图对象;
    count方法计数;
    index方法返回索引位置;
    reverse方法实现元素颠倒;
    sort方法排序
    """
    copy方法复制一个物理对象,而非视图对象;
    count方法计数;
    index方法返回索引位置;
    reverse方法实现元素颠倒;
    sort方法排序;
    """
    L1=['a','a','b','c','d','e','f','g']
    L2=L1.copy()#复制list
    print(L2)
    print(L1.count('a'))#计“a”出现吃次数
    print(L1.index('b'))#反为b的索引位子
    L1.reverse()#颠倒元素
    print(L1)
    L1.sort()#默认升序排序
    print(L1)
    ['a', 'a', 'b', 'c', 'd', 'e', 'f', 'g']
    2
    2
    ['g', 'f', 'e', 'd', 'c', 'b', 'a', 'a']
    ['a', 'a', 'b', 'c', 'd', 'e', 'f', 'g']

     元组是不可变的序列,没有增,删,改的权限;

    只能查询和使用索引,切片等一些功能

    元组最大的好处是可以保证数据的安全。

    T=(1,2,'a','b')
    print(T)
    print(T[0])
    print(T[0:2])
    
    (1, 2, 'a', 'b')
    1
    (1, 2)

    字典,

    字典的创建就不是通过上面的中括号[]和圆括号()方法构建了,
    而是通过花括号{}或dict函数来构造键-值对
    #创建名字和年龄的字典,名字为键,年龄为值
    name_age={"da_wang":27,"liu":26,"kong":12}
    print(name_age)
    print(name_age["kong"])
    #根据key值 从新付给新的数据
    name_age["kong"]=27
    print(name_age)
    #要删除一个key,用pop(key)方法,对应的value也会从dict中删除:
    print(name_age.pop("liu"))
    
    #要避免key不存在的错误,有两种办法,一是通过in判断key是否存在:
    print("da" in name_age)
    #通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value:
    print(name_age.get("da_wang"))
    {'da_wang': 27, 'liu': 26, 'kong': 12}
    12
    {'da_wang': 27, 'liu': 26, 'kong': 27}
    26
    False
    27

    list比较,dict有以下几个特点:

    1. 查找和插入的速度极快,不会随着key的增加而变慢;
    2. 需要占用大量的内存,内存浪费多。

    而list相反:

    1. 查找和插入的时间随着元素的增加而增加;
    2. 占用空间小,浪费内存很少。

    所以,dict是用空间来换取时间的一种方法。

    dict可以用在需要高速查找的很多地方,在Python代码中几乎无处不在,正确使用dict非常重要,需要牢记的第一条就是dict的key必须是不可变对象

           “总结引用的廖雪峰老师的博客”

  • 相关阅读:
    hibernate中的配置参数详解
    js 提示框
    Caused by: java.sql.SQLException: 数字溢出
    什么是Assembly(程序集)?
    我的邮箱
    hdu 3746(KMP的循环节问题)
    hdu 1176(一道简单的dp)
    hdu 1385(求出最短路并输出最短路径)
    hdu 1003(最大连续字串)
    hdu 4512(最长公共递增子序列加强版)
  • 原文地址:https://www.cnblogs.com/duxiao/p/7710120.html
Copyright © 2020-2023  润新知