zoukankan      html  css  js  c++  java
  • Python 数据结构

    2017-06-24 14:34:39

    1、整数和长整数

    2、浮点数

    3、复数,形如1+4j等

    4、字符串 单引号双引号均可,也有三引号的写法,三引号的作用是为了实现多行字符串的操作

    常用函数:

    len():得到字符串的长度

    5、列表list

    打了激素的数组,相比于c++里的数组,列表要强悍的多,无分数据类型,都可以放进去。列表是一个可变的数据类型,形如:a=[0,1,2,3]

    访问元素和数组一致,list[0]...,下标值可以是负数,list[-1]表示最后一个数,list[:]表示整体的一个拷贝,list[:-1]表示除了最后一个数的切片

    同时可以切片list[0:3],依然是前开后闭,即只有0,1,2,类似于matlab

    可以用for item in list:来遍历列表

    列表是一个序列

    列表综合就是通过一个列表来得到另一个列表

    mylist = [1,2,4,8]
    
    myother = [2*i for i in mylist if i>=2 ]
    
    print(myother)

    常用的函数:

    .len():列表长度

    .append():末尾添加一个元素

    .extend():参数类型为列表 ,在末尾添加多个元素

    .insert(pos,key):在pos位置添加key

    .remove(key):删除首个key

    del list[0]:根据下标来删除,可以删除整个列表

    6、元组 tuple

    元祖和列表非常类似,只是元祖是不可变的

    元祖一般的表示方法为a=(1,2,3),逗号是标识元组的根本,如果去掉(),其数据类型依然是元组

    元组的元素不可增删改

    空元组 a=()

    只含有一个元素的 a=(1,),逗号必不可少

    元组的一个具体使用的例子就是print函数

    name = "TIMHY"
    age = 22
    
    print("%s的年龄是%d" %(name,age))

    元组是一个序列

    7、字典 dict

    类似于stl 中的map,采用的是key,value的存储形式,具体形式:a={'a'=1,'b'=2,'c'=3}

    字典的添加也和map一样,即a['d']=4

    字典的删除和list一样,使用索引值可以完成删除操作,即del a['a']

    可以使用for aipha,number in a.items():完成遍历

    dict.get(key, default=None) 函数返回指定键的值,如果值不在字典中返回默认值,第二个参数可以自行设定。

    dict.update(dict2):函数把字典dict2的键/值对更新到dict里,无返回值

    8、集合 set

    与数学中的集合定义是一致的,也就是说具有唯一性,无序性(这和stl中的set是不同的,stl 中的会自动排序,因为底层使用的是红黑树实现的)

    初始化方法有两种,一是a={1,2,3}

    另外也可以使用list来初始化集合,a=set(list)

    常用函数:

    .add(key):添加一个数

    .remove(key):由于set的无序性,所以只能用remove()方法来根据数值删除元素,无法通过下标完成删除

    支持 x in set, len(set),和 for x in set 

    frozenset:不可变集合,初始化后则无法修改

    其他的一些内容:

    函数传参:*args 表示元组,**args表示字典,就是说在参数有剩余的时候会自动转为元组,和字典进行传参

    def fun(list):
        rst=0
        for i in list:
            rst+=i
        return rst
    
    ls=[1,2,3]
    print(fun(ls))
    
    def fun1(*list):
        rst=0
        for i in list:
            rst+=i
        return rst
    
    print(fun1(1,2,3))

    type():用来判断变量类型

    isinstance()函数: 判断数据类型
    isinstance(520,int) 得到true

    eval(string s): 计算字符串中符合python表达式规范的式子值

    ls=[1,2,3]
    print(eval(repr(ls)))
    print(eval("1+5*6"))

    repr将对象转成字符串,一般用做输出用,没有实际意义,区别与str(),因为str()函数是将数值转成字符串。一般来说有eval(repr(a))==a

  • 相关阅读:
    天天共写了四本书,如果您使用有问题欢迎反馈
    难道QQ没有办法封?
    一个包含ASP.NET2.0全部登陆控件在典型身份验证的考虑
    数据访问模式二:数据集和数据适配器(传统的数据访问模式)
    数据访问两种模式的比较
    在母版页里使用FindControl的困惑
    有了中文版MSDN2,何必又东奔西走去找资料
    ASP.NET2.0技术详解与应用实例
    ASP.NET2.0新功能之客户端脚本功能
    使用ASP.NET2.0的TreeView控件显示分层数据
  • 原文地址:https://www.cnblogs.com/hyserendipity/p/7073327.html
Copyright © 2011-2022 走看看