python 数据结构

2023-01-31 01:01:40 python 数据结构

list(列表)


创建list

方式1  : 直接创建  theList = [1,2,3,4,5,6,7,8,9]                    ==> [1,2,3,4,5,6,7,8,9]

方式2 : 使用内建方法list(),  list方法接受一个序列参数(例如元组或者字符串

           1 theList = list((1,2,3,4,5,6,7,8,9))   ==> [1,2,3,4,5,6,7,8,9]

           2 theList = list("abcdefg")              ==> ["a","b","c","d","e","f","g"]


向list中增加元素

1 使用List的append方法 

    theList = [] ; theList.append(1)  ==> [1]


2 使用赋值的方法

    theList = [] ; theList[0:2] = [1,2]  ==> [1,2]


在List中查找指定的元素

1 使用index方法,返回的是元素在list中的序号,如元素不在list中,会抛出ValueError异常

    theList = [1,2,3,4,5,6,7,8]  ;  indexNum = theList.index(1)   ==> indexNum - 0


2 使用 in ,如果元素存在于List 中返回True , 如果不存在返回 False

    theList  = [1,2,4]

    1 in theList ==> True

    3 in theList ==> False



删除List中指定的元素

1)使用del方法删除元素

      theList = [1,2,3,4,5,6] ; del(theList[1])  ==> [1,3,4,5,6]  


计算List的长度

1) 使用len() 方法

     theList = [1,2,3,4,5] ; len(theList) ==> 5


map(字典)

map 每个元素包含 键(key) 和 值(value) 两部分。字典中的每个键都是唯一的


创建MAP

theMap = {"a":1,"b":2,"c":3}     ==>{ 'c': 3, 'a': 1, 'b': 2}


向MAP增加元素

向MAP增加一个关键字“a" . 关键字‘a' 对应着值1

theMap = {}

theMap["a"] = 1


在MAP中查找指定元素

检查指定的关键字是否存在于MAP中

theMap ={"a":1,"b":2,"c":3}

查找关键字'a' 是否在MAP中

'a' in theMap    ==> True

查找关键字'k'是否在MAP中

'k' in theMap     ==> False



删除MAP中制定的元素

theMap = {"a":1,"b":2,"c":3}

1 从MAP中删除指定的关键字 'b'

del(theMap['b'])   ==> {'c': 3, 'a': 1}

2 从MAP中删除关键字'm'

del(theMap['m'])   ==> KeyError: 'm'   抛出异常,不能删除不存在的关键字


计算MAP的长度

theMap = {"a":1,"b":2,"c":3}

len(theMap)  ==>  3



String(字符串)

字符串是不可变的值


字符串的赋值

theStr = "sample line"


字符串的格式化/连接

   lineOne = "one"

    lineTwo = "two"

1  使用 + 号连接

   lineThree = lineOne + lineTwo   ==> onetwo

2 join() 方法连接

   '-'.join([lineOne,lineTwo]) ==> onetwo

  '-'.join(lineOne)                  ==>o-n-e

3 使用fORMat方法

    1 lineThree = "%s%s"%(lineOne,lineTwo)       ==> onetwo


    2 "{0}{1}".format(lineOne,lineTwo)                   ==> onetwo


    3 "{one}{two}".format(one=lineOne , two = lineTwo)   ==> onetwo


    4  p = [lineOne,lineTwo]

        "{0[0]}{0[1]}".format(p)                                               ==>onetwo


    5 字符串分割(splite)

       lineOne.split()                          ==> ['o','n','e']


    6 字符串去除空白字符(strip)

        "    abc    ".strip()                    ==> 'abc'


字符串的提取

        lineOne[1:]  = "ne"

        lineOne[:-1] = "on"

       lineOne[1:-1] = "n"

       k = "abcdefg" ;  k[0::2]    ==> 'aceg'


字符串与其他数据类型的转换


float(str)                  float("1e-1")  结果为0.1
int(str)                     int("12")        结果为12
int(str,base)             int("11",2)    结果为3,将 2进制的 11 转换为 十进制数

                                int("11",8)    结果为9 ,将8进制的 11 转换为 十进制数


字符串查找

tmp = "asdfghjkl"

1 find

    tmp.find("a")    ==> 0   #字符存在于字符串中

    find.find("z")    ==> -1  #字符串不存在于字符串

2 index

    tmp.index('a')   ==> 0                   #字符存在于字符串中

    tmp.index('z')   ==>  ValueError   #字符串不存在于字符串


  

相关文章