• Python入门基础学习(列表/元组/字典/集合)


    Python基础学习笔记(二)

     

    列表list---[ ](打了激素的数组,可以放入混合类型)

    list1 = [1,2,'请多指教',0.5]

    公共的功能:

    len(list1)  #/获取元素

    list1[0]    #索引

    list1[::-1]  #切片和步长

    常用的功能:

    list1.append(xxx)  #从末尾追加一个元素

    list1.extend(xxx)  #从末尾合并

    注意:append与extend的区别

    append:将列表2xxx作为元素追加到列表1中

    a = ["hzq"]
    b = [5]
    a.append(b)
    输出:['hzq', [5]]

    extend:将列表2中的元素作为列表1的元素进行合并

    a = ["hzq"]
    b = [5]
    a.extend(b)
    输出:['hzq', 5]

    list1.insert(index,xxx)  #指定index插入元素

    list1.remove(xxx)  #删除元素,若有相同只能删除从左到右第一个

    list1.pop(index)  #删除索引位置的元素,若无index默认删除最后一个

    del list1[index]  #删除index索引的list1元素

    list1.clear( )  #清空列表

    list1.count(xxx)  #计算元素出现次数(注意层级关系)

    a = ["hzq"]
    print(a.count('h'))
    输出:0

    list1.index( xxx )  #获取xxx元素的下标

    list1.reverse(  )  #反转列表

    list1.sort(  )    #排序,若list1中有字符串或者是数字同时出现,则会报错

    补充:列表推导式

    [expr for itm in collection if condition] 列表常规推导

    list1 = [i for i in range(10) if i%2==0]
    print(list1)
    #输出:[0, 2, 4, 6, 8]
    

      

    元组tuple---( , )不可变

    与列表相比-不可修改,不可输出,不可添加

    tuple1 = (1,2,‘爱老虎油’)

    公共的功能:

    len(tuple1)  #获取元素

    tuple1[0]    #索引

    tuple1[::-1]  #切片和步长

    字典dict---{}映射类型,可变

    dict1 = {'name' : ' 凉介' , 'age' : 21 , ' sdept' : '男' }  #键值对

    公共的功能:

    len(dict1)  #获取元素

    dict1['name']    #索引,不用下标,利用key值查询

    无切片和步长的功能

    常用的功能:

    dict1.keys( )  #获取所有的健值

    dict1.values( )  #获取所有的值

    dict1.items()  #获取所有的键值对

    若想对字典进行添加:dict1['不存在的key'] = 'xxx'

    dict1.setdefault(5)  #末尾设置一个key为5的键值对,value默认none,返回一个value的值

    dict1.setdefault(5,'xxx')  #末尾设置一个key为5,value为xxx的键值对,返回一个value的值

    dict1.update(5,'李白')  #更新key为5的value=‘李白’

    dict1.pop(key)  #删除健值里的数据返回value的值

    dict1.popitem( )  #删除末尾的键值对并且返回key和value的元组

    dict1.clear( )  #清除字典

    补充:字典推导式

    {key: value for (key, value) in iterable}字典推导 

    dict1 ={i:i*2 for i in range(10) if i%2==0}
    print(dict1)
    #输出:{0: 0, 2: 4, 4: 8, 6: 12, 8: 16}
    

      

    集合set---{}无序无索引,不可嵌套,可变

    注意:set1 = {}  #这样子是声明一个dict类型

    set1 = set( )  #声明一个空集合

    set1.add(xxx)  #添加一个xxx元素

    set1.pop( )  #随机删除一个元素

    set1.remove(xxx)  #删除值为xxx的元素

    set1.update(xxx)  #更新一个xxx的集合   

    注意:add是添加一个元素,update是添加一个集合跟list中的extend类似

    set2 = frozenset([1,2,3,4,5])  #可用frozenset创建一个不可变集合

    小练习:华为测试岗笔试题

    统计一个字符串中单词的个数:

    函数解析:

    对字符串以空格进行分割,创建一个字典类型变量dicts用于存放数据;

    对分割后的字符串(返回的列表)进行for循环,传入dicts中(字典添加元素格式:dicts[key] = value)

    如果不在字典里的(未重复)则设置value = 1,若已经在字典里的,则value += 1

     

    接上:选出个数最多的单词:

      

     函数解析:

    将上题统计好的dicts字典传入,声明一个dictMax空字典用于存放出现次数最多的单词

    通过list(dicts.values())取得dicts的values

    然后通过一个循环算出出现次数最多为maxvalues次

    再通过一个循环把字典中value跟maxvalues相同的元素添加到dictMax空字典中

     

  • 相关阅读:
    MVVM架构~knockoutjs系列之表单添加(验证)与列表操作源码开放
    MVVM架构~knockoutjs系列之验证成功提示显示
    MVVM架构~knockoutjs系列之正则表达式使规则更灵活
    郁闷~win7无法进行局域网访问解决
    不合规范的html段落php处理细则
    备份一个通过拷贝来创建虚拟机镜像的脚本
    [置顶] ffmpg简介以及用它实现音频视频合并(java)
    [Java] HttpClient有个古怪的stalecheck选项
    POJ 1260 Pearls
    “AIR SDK 0.0: AIR SDK location “...devsdksAIRSDKWin” does not exist.”问题解决~
  • 原文地址:https://www.cnblogs.com/hhs1998/p/11758400.html
Copyright © 2020-2023  润新知