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

    一、列表

      list = ['a','b']

      1、列表脚本操作符:

        (1)扩增的操作符:

          “+”:用于组合列表;如[1,2,3]+[4,5,6]==>[1,2,3,4,5,6]

          "*":重复;如[2,3]*2==>[2,3,2,3]

      2、列表函数

        cmp(list1,list2):比较两个列表的元素;当list1<list2时,返回-1;当list1>list2时,返回1;当list1=list2时,返回0;

        len(list):返回列表元素个数;

        max(list):返回列表元素最大值;

        min(list):返回列表元素最小值;    

      3、列表方法

       (1)扩增的方法:

          list.append(obj.):在列表的末尾添加新对象;

          list.extend(seq):在列表的末尾一次性追加另一个序列的多个值(1、seq为列表和元组时,将列表和元组的所有元素添加;2、seq为字典时,将字典所有的key添加;)

          list.insert(index,obj):将对象添加进对应的索引位置中;

        (2)删除元素:

          list.pop([obj=list[-1]]):默认删除list中最后一个元素,并且返回该元素值;list.pop(1)表示删除list中倒数第二个元素;

          list.remove(obj):删除list中某个值的第一个匹配项;

          (3)统计元素在list中出现的次数:list.count(obj)

        (4)反向列表元素:list.reverse()

        (5)对原列表排序:list.sort([func])

      4、访问列表的值:

        list[index]:访问索引指向的值,从0开始;

        list[-1]:访问倒数第一个元素;

        list[1:3]:访问第2个元素到第3个元素,索引为3的元素不访问;

        list[1:]:访问第2个元素到最后一个元素。

      5、其它:

        删除元素语句:del list[index]

        更新元素值:list[1]=3;    ===>直接将索引为1的元素值改为“3”

        判断是否存在元素值:3 in [1,2,3]==>返回True

    二、元组

      tuple = ('a','b')

      1、操作符和访问值:与列表类似

      2、创建:当只有一个元素时,元素后面需要加上逗号,如tuple=(1,)

      3、元组中的元素值不允许修改;

      4、元组中的元素值不允许删除;可以使用del语句删除整个元组;

      5、元组函数

        (1)cmp(tuple1,tuple2):与list类似

        (2)len(tuple):元组元素个数

        (3)max(tuple)

        (4)min(tuple)

        (5)tuple(seq):将列表转换为元组

    三、字典

      键与值:(1)键必须是唯一的,但值可以不是;(2)键必须是不可变的,但值可以是任意数据类型;

      dict1 = {'a':1,'b':'bs'}

      1、访问值:

        (1)直接访问,把键放在方括号中访问:dict['keyname']

        (2)dict.values():以列表返回字典中所有值;

        (3)dict.keys():以列表返回字典中所有键;

        (4)dict.get(key,default=None):返回指定键的值,如果键不存在,则返回默认值;

        (5)dict.setdefault(key,default=None):返回指定键的值,如果键不存在,则会添加键,键的值为默认值;

      2、修改值:

        (1)直接修改键值:dict['key']=new_values;  

      3、扩增:

        (1)直接新增键/值对:dictname['new_keys']=new_value;

        (2)dict.update(dict2):把字典dict2的键/值对更新到dict中;

        (3)dict.fromkeys(seq[,values]):创建一个新字典,以seq中的值为字典的键,values为字典的值;

      4、删除字典元素:

        (1)删除键/值对:del dictname['keyname']

        (2)删除键内所有键/值对:dictname.clear()

        (3)删除字典:del dictname

      5、其它:

        (1)len(dictname):字典元素个数,即键的总数;

        (2)dict.items():以列表返回可遍历的(键,值)元组数组

        (3)dict.has_key('keyname'):判断键是否存在字典中

     四、set集合

      与列表的行为类似,但是set是无序的、不包含重复值;

      1、创建集合:

        s1 = {'a','b','c'}   --注意,不能用s1 = {}创建集合,这种操作创建的是空字典

        s2 =set(['a','d','a'])

      2、集合交集:

      找出两个集合中都有的数据

        print(s2.intersection(s1))   ---{'a'}

      3、集合差集:

      找出不存在于另一个集合的数据

        print(s2.difference(s1))    ---{'d'}

      4、并集

      temp = s1.union(s2)  #取并集,并赋新值

      5、增加

      s1.update(s2)  #{'a','b','c','d'}

      

          

  • 相关阅读:
    异步初体验
    ASPNET登陆总结
    14年最后一天了
    个人阅读作业
    软工个人博客-week7
    软工结对编程作业-人员
    软工结对编程作业-(附加题)
    软工结对编程作业-(非附加题)
    个人博客作业Week3
    软工个人作业-博客作业-WEEK2
  • 原文地址:https://www.cnblogs.com/susan-su/p/6629403.html
Copyright © 2011-2022 走看看