(python学习笔记)1 元组、集合、字典

来源:互联网 发布:换手率数据 下载 编辑:程序博客网 时间:2024/05/29 07:42
元组 tuple
  • 定义:t = () t = (1,2,3,4,'aaa',[1,2,3])
  • 支持下标、切片操作
  • 元组是不可变对象,不可以对元组的内容做修改,但是元组中的有列表的话可以修改列表的内容
  • 可以index、count操作,如t.index('a') 显示在元组中的下标 t.count('a')显示在元组中的个数

集合 set
  • 集合的元素不重复(python中是根据每个元素的hash值来判断是否重复,只要可hash就可以作为集合的元素,列表不可以作为集合的元素)
  • 定义:s = {1,2,3} 不能定义空集
  • 不支持切片(因为集合是无序的)
  • s.add(444)增加到集合中
  • s.update([1,2,3])将迭代器增加到集合中
  • s.remove('a')删除这个元素,没有的话会报错
  • s.discard('aa')存在删除,不存在不报错
  • s.pop()随机删掉一个元素
  • s.clear()清楚集合元素
  • s1.difference(s2) 返回差集,s1中出现的,s2中不出现的 s1-s2
  • s1.difference_update(s2) 不返回差集,即 s1 = s1-s2
  • s1.intersection(s2) 交集 s1&s2
  • s1.union(s2) 并集 s1|s2
  • s1.isdisjoint(s2) 是否没有交集,返回值为bool值,没有交集返回True
  • s1.issubset(s2) s1是不是s2的子集

迭代器 iterator
  • 定义: li = [1,2,3,4,5,6] it = iter(li) it.next()下一个
for x in li
print x
就是利用了迭代器

字典 dict
  • 定义:d = {'a':1,'b':2,'c':'hello'}
  • 字典中的key不可以重复,且必须是可hash的
  • d.keys() 将字典中所有的key作为列表返回
  • d.iterkeys() 将字典中所有的key作为一个迭代器返回
  • d.values() 将字典中的额所有value作为列表返回
  • d.has_key('a') 判断是否存在key 返回True
  • d.get('a') 按照key的取值,若存在则返回,不存在则返回None,还可以d.get('a',x) ,不存在即返回x
  • d.update({'a':100,'e':'xxx'}) 存在则更新,不存在则增加
  • d2 = d.copy() 深度复制一个字典给另一个
  • id(d) 查看该字典id(一样的话就是指向同一个内存空间)

  • d.items() 返回一个列表,列表中是字典中的每个key以及对应的value


列表解析
  • [expression for item in iterator if condition]
不带条件:

一个条件:
  • [expression for item in iterator if conditionX if conditionY]
多个条件:条件都得满足
  • [expr for x in IterX for y in Itery]
笛卡尔积

0 0
原创粉丝点击