• Python基本数据类型之列表、元组、字典、集合及其魔法


    列表


    1.列表可存放任何东西,并且可修改

    2.列表有序

    3.列表支持索引与切片

    4.支持for,while循环,所以列表为可迭代对象

    5支持in操作,判断元素是否在列表中

    6可多重索引嵌套列表

    7.字符串可以转换为列表list():因为其内部使用的是for循环#两者为可迭代对象

    8.数字不可转列表:不能用for循环,因为数字非可迭代对象

    9列表转字符串

    有数字、字符串 自己使用for循环
    只有字符串 ‘’.join()

    列表的灰魔法

    1.li.append() :在原来值后添加 

    2.li.clear() :清空列表

    3.v = li.copy() :浅拷贝

    4.v = li.count() : 计算列表内指定元素的个数,不填参数(列表内元素)就报错

    5.li.extend() : 执行for循环用append添加 参数必须是可迭代

    6.li.index(): 根据参数获取当前值的索引位置(左边优先)

    7.li.insert(n1,n2): 在指定索引位置插入元素 n1为位置,n2为元素

    8.删除

    v = li.pop() 删除某个值,并获取删除值可加索引(默认最后一个)
    li.remove() 删除列表中指定元素,左边优先
    del li【】 根据索引删除

    9.li.reverse() :将当前列表进行反转

    10.li.sort() : 列表排序 从小 到 大

    li.sort(reverse =true) :列表排序从大 到 小 

    元组


    tuple

    1.元素不可被修改、增加、删除

    2.元素有序

    3.可索引、切片

    4.可for循环、为可迭代对象

    5.字符串、列表、元组间可转换 tuple()

    6.一般写元组时,推荐在最后加入,

    元组的一级元素不可修改,但一级元素下的二级元素(非元组)可修改

    元组的灰魔法

    1.count():获取元素在元组中出现次数

    2.index():获取元素在元组中的位置

    字典


    dict

    1.字典是无序的!

    2.字典的值可任意

    3.字典支持索引、切片

    4.不可while循环,可for循环

    5.字典的key不可是列表、字典、布尔。若key重复则key不显示

    字典的灰魔法

    info = {}

    1.for item in info()  = for item in info.keys()     默认循环key

    2.for k,v in info.items  循环key , values 进入k,v

    3.get

    v = info.get('k1',111)   根据key取值 ,若key不存在返回111,默认返回None

    4.update

     info.update({'k1' = '111','k2' = 122})    更新(修改)值

    或者 info.update(k1 = 123,k2 = 252)

    5.frokeys

    静态引用

    v = dict.fromkeys(['k1',123],123)  根据序列,创建字典,并制定统一值  即key:‘k1’、123的值为123

    6.pop

    v = info.pop('k1',90)  删除并获取值,若无则获取制定值90,若无则None

    k,v = info,popitem()  删除并获取key and values

    7.setdefalut : 设置值;若存在,不设置,获取当前key对应值

              若不存在,设置,并获取当前key对应值

    8.

    集合


     

    set

    1.集合由不同元素组成,有去重的功能

    2.集合内元素无序

    3.集合中元素必须是不可变类型

    4.书写格式{,}

    5。set() 转换为集合类型

    集合的灰魔法

    1.add()增加元素,但只加一个

    2.clear()清空集合内的所有元素

    3.s1 = s.copy( ) 复制s集合的元素给s1

    4.s.pop() 随机删除集合内元素

    5.指定删除

    s.remove()

    删除元素不存在会报错
    s.discard() 删除元素不存在不会报错

    6.求交集

    s1 & s2 或者 s1.intersection(s2)

    7.求并集

    s2 | s1 或者 s2.union(s1)

    8.求差集

    s2 - s1  = s2.difference()  求的是存在于s2但不存在于s1

    9.交叉补集:s1 于s2 交集的外部

    s1 ^ s2 = s1 .symmetric_difference()

    10.difference_update()  :做完差集再更新

     s1.difference_update(s2)    与   s1 = s1 - s2  相同

    11.isdisjoint

    s1.isdisjoint(s2)    若有交集返回true

    12.issubset 判断是否子集

    issuperset 判断是否父集  是则Tru

    13.update

    如:s1.update(s2)  更新多个值到s1 (需可迭代对象)

    14.s = frozenset(‘helllo’)

    定义一个不可变的集合

    15.简单去重

    names = [ 's1','s2','s3']

    names = list(set(names))

     

  • 相关阅读:
    CSS文本超出指定行数省略显示
    Vue框架H5商城类项目商品详情点击返回弹出推荐商品弹窗的实现方案
    vue项目强制清除页面缓存
    使用es6的then()方法封装jquery的ajax请求
    微信小程序——微信卡券的领取和查看
    vue项目如何通过前端实现自动识别并配置服务器环境地址
    HTML中的Meta标签详解
    复用微信小程序源码包后仍然有原小程序的版本管理怎么处理
    译: 3. Axis2快速入门指南
    译: 2. Apache Axis2安装指南
  • 原文地址:https://www.cnblogs.com/echoboy/p/8961140.html
Copyright © 2020-2023  润新知