python的组合数据包括:1.列表list[   ] 2.元组tuple(),3.字典dict{"x":"y"},4.集合set{}

1.创造组合数据:均可直接使用创造如:list1=[1,2,3,4]  tuple1(1,2,3,4) dict{"1":"2"."3":"4"}

          对于list tuple和set可以互相转化 如:list1=[1,2,3,4]  set1=set(list1) tuple1=tuple(list1)

        字典比较特殊使用dict()创造但是有区别:

                            1.使用关键字创造字典:dict1=dict{name="sm7",grade="100"}

                            2.使用映射函数 dict1=dict(zip(["name,grade"],["sm7",100]))   #字符串必须加“”上一个是关键字所以不用加

                            3.使用迭代添加 dict1=dict([("name","sm7"),("grade",100),("height",200)])   #dict()后是一个列表没一个key-vaule是其中的一个元素

2.访问:

      1.set是无序的所以不能单体访问只能整体输出

      2.对于list和tuple,可以采取正常C语言数组访问类型:如 list1[0]  #数组是有0开始所以访问是由0到numble-1为范围

               还可以切片式访问,切片式访问指访问一部分从某一个位置到另一个位置还可以增加间隔 如list1[0:9:2]意思是从list的第二个位置到第八个位置中途间隔为2,也可以不添加间隔

      3.对于字典的访问:同上可使用[]这个符号作为访问,但不同的是,对于dict这种特殊的组合数据,采用dict1[key]来获取value,或dict1.get(key)函数来获取对应的value。dict.items()返回字典所有,dict.keys()返回所有的key,dict.values()返回所有的value,通常采用for循环提出。如 for x,y in dict1.items()  对于items而已首先进行获取的是key,其后一个为value。

3.添加、修改和删除元素:

      1.元组是固定的无法修改和删除里面的元素,只能对元组进行删除重建#所以在这一小节中tuple可以忽略

      2.修改元素:#set是无序的所以无法指定修改list的元素。修改只能在list和dict里面

            1.直接赋值替换:如list1[1]= 列表     dict1[key]=value

            2.list特有的切片赋值list1[2:4]=[1,“火龙果”]

      3.删除元素 :

            list:del list[index]     list.pop()#删除末尾的list   若添加了index就是删除指定的list  如list.pop(index) list.remove(index)同上 list.clear()直接清空 list[::] = []  同样可以切片删除

            dict  :del dict1[key] 删除指定key的key-value  dict1.pop(key)同上 dict1.popitem()随机删除一个元素     dict1.clear()清空dict

            set :  set.remove(item) set.discard(item)删除指定item set.pop()随机删除一个元素 set.clear()清空

            综上可以看见del xxx[指定]对于list和dict是通用的

            .remove(num)对于list和 set可以指定删除

             pop()对于list是删除末尾对于set是随机删除而dict的随机删除是popitem()   而xxx.pop(num)对于list和dict是指定删除

            都有一个.clear()清空

      4.复制组合数据

            浅复制与复制:在python中浅复制.copy()函数是指复制后的单位是独立的与之前的无关。复制 如 list1=list2只list1与list2是等同的更改list1和list2任意一个另外一个都会同时修改

            *tuple没有浅复制

4.特殊运算

       set:集合肯定会有集合的运算:

          并集 set1.union(set2)  ==set1 | set2

          交集 set1.intersection(set2) == set1 &set2

          差集 set1.difference(set2) == set1 - set2

          子集 set1.issubest(set2) == set1 < set2 判断子集

          成员运算 item in set1 或 item not in set 1同上

      tuple 和list:

            运算“+”将几个列表组合在一起成为一个新的 list1=list2+list3+...+list5

            *  乘法符号:numble与list相乘得到一个重复N遍list的新的list

            in与not in 上面有讲    

             两个list或tuple可以用<>来比较从第一个元素开始对等比较

list常常作为栈和队列来使用。append表示入栈,pop出栈。

而作为队列使用时,先导入collections模块中的deque再通过deque创建队列 如:

from collections import deque

q = deque(["maybe","ame","ppd"])

最新文章

  1. ZooKeeper原理及使用
  2. php验证身份证号码的正确性
  3. idea项目部署
  4. Matrix multiplication hdu4920
  5. 设计Kafka的High Level Consumer
  6. GitExtensions-2.48安装详细教程
  7. Java学习5——标识符和关键字
  8. 大数据处理框架之Strom:DRPC
  9. 【EatBook】-NO.1.EatBook.1.JavaData.1.001-《JSON 必知必会-Introduction to JavaScript Object Notation》-
  10. CSS设置table下tbody滚动条与thead对齐的方法
  11. 2018 Arab Collegiate Programming Contest (ACPC 2018) H - Hawawshi Decryption 数学 + BSGS
  12. OpenSift源代码编译过程记录
  13. vs2010+Aspx进行sharepoint2010工作流开发(3) 资料整理
  14. CodeForces - 632E Thief in a Shop (FFT+记忆化搜索)
  15. Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation
  16. Windows下MySQL多实例运行(转)
  17. 遍历输出所有子视图(View)
  18. Linux(Centos) 搭建ReviewBoard
  19. selenium firefox46.0.1设置禁用图片
  20. 日常沟通的 3 种模式zz

热门文章

  1. JavaScript 运算,流程控制和循环
  2. 通过属性选择器找元素,可以通过$(__).length是否为0来判断是否找到了元素
  3. 直接打印类,调用toString()方法
  4. Virtual Judge POJ 1328 Radar Installation
  5. 2.7.2 元素定位:frame 内定位 driver.switch_to.frame()
  6. Apache Kafka(七)- Kafka ElasticSearch Comsumer
  7. js函数防抖和函数节流
  8. linux 内存,cpu占用最高进程查询
  9. Codeforces Global Round 3:B. Born This Way
  10. c#修改项目名称