Python02-数据结构

数据结构

  • 列表
  • 元组
  • 字典
  • 集合

============================================

列表

列表是用来存储一组有序数据元素的数据结构,元素之间用逗号分隔。整数,浮点数,字符串,对象都可以往里丢。

  • 创建列表——[]
  • 列表的复制——*
  • 列表的合并——+/extend eg:int_list.extend(str_list)
  • 插入新元素
    末尾插入:append() 内部插入:insert()
  • 统计列表内元素个数:count()
  • 获取列表中值出现的位置——index(),记住任何时候从0开始索引的
  • 获取指定位置的
    普通索引[]
    切片索引[1:3],注意左闭右开,不包含右边的3。取到最后的话[3:]
  • 删除列表的值
    指定位置:pop()
    指定元素:remove()
  • 排序
    升序:sort()
    降序:reverse(); sort(reverse=True)
  • attention:
    * member2=member——修改一个,另一个也会修改;
    *member2=member[:]——只会修改一个。
    *in/not in可以判断是否存在在列表中,但只会判断一个层次,无法判断列表中的列表。
    *index()返回第一个出现的位置,指定范围内的需要加参数——index(123,3,7)

============================================

元组

元组为带上枷锁的列表,不可以修改。

  • 创建元组——()
  • 元组的复制——*
  • 元组的拼接——+
  • 插入新的元素——temp[:2]+(‘战战’,‘狗熊’)+temp[2:]
  • 删除——del temp

======================================

字典

字典是一种键值对的结构。

  • 创建字典:{};dict()——dict里面只能是一个参数,所以用元组

         1.创建空字典 a={}   a['apple']=2  a['pear']=4
         2.直接以键值对传入字典 a={'apple':2,'pear':4}
         3.放入元组内,用dict b=(['a',2],['b',4])  a=dict(b)
    
  • 访问字典的几种方法:keys(),values(),items()

    for each in dict1.keys():

  • fromkeys——dict1={} dict1.fromkeys((1,2,3))/dict1.fromkeys((1,2,3),‘数字’)

  • get的用法:dict1.get(32,‘木有’)——避免报错,当没有32时,返回木有

  • 清空:dict1.clear()

  • 拷贝:dict2=dict1.copy()——dict1变动时,dict2不变

  • 删除:a.pop(2)——删除了键为2的键值对

  • 添加:a.setdefault(5,‘five’)

  • 更新:b={‘white’:‘dog’} a.update(b) a中添加了b

======================================

集合

在我的世界里,你就是唯一。

  • 创建集合:{},没有映射关系/set——set([……])
  • 唯一的,无序的,无法索引
  • 去掉列表num中的重复元素 list(set(num))
  • 添加/删除:add()/remove()
  • 不可变集合:frozenset([……])

======================================

序列

列表,元组和字符串的共同点——统称为序列

—都可以通过索引得到每一个元素
—默认索引值总是从0开始
—可以通过分片的方法得到一个范围内的元素的集合
—有很多共同的操作符(重复操作符,拼接操作符,成员关系操作符)

  • 相互转换:list(),tuple()——把一个可迭代对象转换为元组,str()
  • len(),max(),min(),sum()
  • sorted()排序,reversed()——reversed返回的是一个迭代器对象,list(reversed())
  • zip函数——list(zip(a,b)) a,b为列表,返回一个列表,里面为元组
发布了47 篇原创文章 · 获赞 0 · 访问量 660

猜你喜欢

转载自blog.csdn.net/xiuxiuxiu666/article/details/104314742
今日推荐