zoukankan      html  css  js  c++  java
  • python的4种数据结构

    python的4种数据结构

    ——学习笔记

    • 列表list
    • 字典dict
    • 元组tuple
    • 集合set
    list = [val1,val2,val3,val4] dict = {key1:val1,key2:val2} tuple = (val1,val2,val3,val4) set = {val1,val2,val3,val4}

    列表

    列表的特征

    1. 列表中的每一个元素是可变的
    2. 列表中的元素是有序的,也就是说每一个元素都有一个位置
    3. 列表可以容纳Python的任何对象

    列表元素可变,即可以在列表中增删改查元素
    weekday=['monday','tuesday','wednesday'] print(weekday[0])
    列表可以装python的所有对象,例子
    all_in_list =[ 1, #整数 1.0, #浮点数 'a word', #字符串 print(1), #函数 True, #布尔值 [1,2], #列表中套列表 (1,2), #元组 {'key':'value'} #字典 ]

    列表的增删改查

    插入

    fruit = ['pineapple','pear'] fruit.insert(1,'grape')
    fruit[0:0] = ['orange']

    删除

    fruit.remove('pear')
    del a[0:2]

    修改

    fruit[0] = 'grapefruit'

    查询

    elements = ['h','he','li','be','b','c','n','o,'f','ne'] print(elements[0]) print(elements[-2]) print(elements[0:3]) print(elements[-10:-7]) print(elements[-10:]) print(elements[:9])
    print(elements['h']) #错误
    列表直接说位置索引如果数据量很大的话,肯定会记不住什么元素在什么位置,那么有没有一种数据类型可以用人类的方式进行索引呢?于是字典出现了

    字典

    字典的特征

    1.字典中数据必须以键值对的形式出现
    2.逻辑上,键是不能重复的,值可以重复
    3.字典中的键(key)是不可变的,也就是无法修改的;而值(value)是可变的,可以修改,可以使任何对象
    code = { 'bidu':'baidu', 'sina':'sina' }
    code = { 'bidu': }
    错误:键和值不能脱离对方而存在
    code = { []:'a test' }
    错误:将一个可变的元素作为Key来构建字典
    code = { 'bidu':123, 'bidu':123 }
    错误:键不能重复

    字典的增删改查

    增加

    code = { 'bidu':'baidu', 'sina':'sina' }
    与列表不同的是,字典并没有一个可以往里面增加单一元素的“方法”,但可以通过以下方式进行添加:
    code['weixin':'weixin']
    列表中用来添加多个元素的方法extend(),在字典中添加多个元素的方法update()
    code.update({'fb':'facebook','tsla':'tesla'})

    删除

    del code['fb']

    修改

    code['fb':'fb']

    查询

    code['tsla'] #字典是通过键来索引值

    • 注意:字典是不能够切片的,因此chart[1:4]是错误的*

    元组

    元组是一个稳固版的列表,因为元组不可修改,增删改不存在,可以查询
    letters = ('a','b','c') letter[0]

    集合

    集合则更接近数学上集合的概念。集合中的元素是无序的,不重复的任意对象,可以通过集合去判断数据的从属关系,还可以通过集合把数据结构中重复的元素删除

    集合的增删改查

    增加

    a_set = {1,2,3,4} a_set.add(5)
    a_set.update([5,6,7,8])

    删除

    a_set.discard(5)
    a_set.remove(6) #如果要删除的元素在集合中不存在,则出错

    修改

    a_set ={a,g,c,d} a_set={'abckde'} a_set={"abkc"} #注意:这里是只有一个元素

    查询

    a_set

    差集、交集、合集

    a = set('abc') b = set('cdef')

    差集

    a-b
    输出是set(['a','b'])
    b-a
    输出是set(['d','e','f'])

    交集

    a & b
    输出是set(['c'])

    合集

    a | b
    输出是set(['a','b',d','e','f'])

  • 相关阅读:
    什么是聚集索引,什么是非聚集索引,什么又是主键?
    给.net添加MultiPage、TabStrip、Toolbar、treeView,treeview等控件
    一个洗牌程序算法,随机交换位置【经典】
    overload和override都叫重载,都在什么情况下用阿?
    补间形状和补间动画
    电子时钟
    绘图板
    查询XML数据
    纯代码生成按钮
    小球滚动,方块上移
  • 原文地址:https://www.cnblogs.com/crystalmoore/p/6410292.html
Copyright © 2011-2022 走看看