zoukankan      html  css  js  c++  java
  • 第四天-列表中的其他方法,元组,字典及操作方法

    一、列表中的其他操作方法

      1、查找列表中的指定元素

        1.1、查找指定元素在列表中的索引(下标)index      

        li = [1, 2, 3, 4, 6, 7, 8, 9, 1, 'china']
        res = li.index(1)
        print(res)
    结果:
            0
    

          注意:1、如果存在两个及其以上相同的元素,默认返回查找到指定元素的第一个索引(下标)

             2、如果指定元素不存在会报错   

        ValueError: '0' is not in list
    

        1.2、查找指定元素在列表中的个数

          li = [1, 2, 3, 4, 6, 7, 8, 9, 1, 'china']
          res1 = li.count(1)
        print(res1)                            
    

      

    结果:
            2  

      注意:如果指定元素不存在,返回 0 

            0
    

      

      2、修改列表中指定元素的值 ,通过索引获取到列表中的指定元素,对其进行重新赋值

        li = [1, 2, 3, 4, 6, 7, 8, 9, 1, 'china']
        li[1] = 'word'
        print(li) 
    结果:    
          [1, 'word', 3, 4, 6, 7, 8, 9, 1, 'china']
    

      注意:如果索引值超过列表的长度,汇报错

        IndexError: list assignment index out of range
    

      3、列表排序 sort (列表排序时,列表中的元素必须全部是数值类型的数据)

        3.1、升序排序

    li = [1, 2, 3, 4, 6, 7, 8, 9, 1]
    li.sort()
    print(li)
    结果:
    [9, 8, 7, 6, 4, 3, 2, 1, 1]

        3.2、降序排序

    li = [1, 2, 3, 4, 6, 7, 8, 9, 1]
    li.sort(reverse=True)
    print(li)

    结果: 2 [1, 1, 2, 3, 4, 6, 7, 8, 9] 

      4、列表倒序 reverse (将列表倒过来显示,不排序)

    li = [1, 2, 3, 4, 6, 7, 8, 9, 1]
    li.reverse()
    print(li)
    结果:[1, 9, 8, 7, 6, 4, 3, 2, 1]

      5、复制列表 copy 复制后新列表的在内存中的地址发生了变化

    li = [1, 2, 3, 4, 6, 7, 8, 9, 1]
    
    print(li,'li的内存地址:{}'.format(id(li)))
    li1 = li.copy()
    print(li1,'li1的内存地址:{}'.format(id(li1)))
    结果:[1, 2, 3, 4, 6, 7, 8, 9, 1] li的内存地址:2007828812360 
         [1, 2, 3, 4, 6, 7, 8, 9, 1] li1的内存地址:2007828812872    

    二、元组

      定义:元组用()表示 关键字是 tuple,元组又称只读列表,与列表不同的是,不能对元组里面的元素进行修改和删除

      注:1、当元组中只有一个元素时,建议加上一个逗号,那就不是一个元组

        2、元组中的数据类型与列表一样,可以是任意类型的数据

      1、元组的方法:

        

        1.1、查找指定元素在列表中的索引(下标)index      

        tu1 = (1, 2, 3, 4, 6, 7, 8, 9, 1, 'china')
        res = tu1.index(1)
        print(res)
    结果:
            0

        1.2、切片

        tu1 = (1, 2, 3, 4, 6, 7, 8, 9, 1, 'china')
        res = tu1[0:8:1]
        print(res)
    结果:
        (1, 2, 3, 4, 6, 7, 8, 9)

    三、数据类型的可变与不可变

      定义:数据内容发生改变,数据的在内存中存储的地址发生改变的是不可变数据类型,数据的在内存中存储的地址不发生改变的是可变数据类型(数据的内存地址发生了改变就不是原来的数据了)

      不可变的数据类型:字符串、数值、元组

      可变的数据类型:列表、字典、集合

    四、字典

      定义:使用{}来表示字典,字典是由key,value 的键值对形式组成的

      字典定义规范:

        1.1 、key 不能够重复,因此key只能够是字符串、数值、元组,key尽量是英文

        1.2、value可以是任意类型的数据

      1、定义字典的方式

        1.1、key ,value 形式

      info = {'name': '袁晓松', 'age': 18, 'sex': ''}

        1.2、变量名 = value 形式

    info = dict(name = '袁晓松',age=18,sex='')

        1.3、dict函数 dict[(),(),()]

    data_info = dict([("name",'袁晓松'),('age',18)])

      2、字典的方法

        2.1、添加元素

          2.1.1、添加单个元素(键值对)(添加字典中没有的key)

    info = {'name': '袁晓松', 'age': 18, 'sex': ''}
    info['salary'] = 10000
    print(info)

          2.1.2、添加多个元素 update (将一个字典,添加到原字典中)

    info = {'name': '袁晓松', 'age': 18, 'sex': ''}
    info.update({'job': 'test', 'a': 0})
    print(info)

      2.2、修改元素

    info['name'] = '天下‘
    print(info)

      2.3、删除元素

        2.3.1、删除指定的元素 pop方法,删除对应的键值对,并返回被删除key的value

    a = info.pop(’sex‘)
    print(a)
    print(info)

        2.3.2、删除最后一个元素 popitem: 默认删除的是字典中最后一个键值对,返回被删除的键值对

    info = {'name': '袁晓松', 'age': 18, 'sex': ''}
    b=info.popitem()
    print(info)

      2.4 、查找元素

        2.4.1、通过key查找元素 ,key不存在,报错(Keyerror)

    info = {'name': '袁晓松', 'age': 18, 'sex': ''}
    res = info['name']
    print(res)

        2.4.2、通过get(key)查找

    info = {'name': '袁晓松', 'age': 18, 'sex': ''}
    res1 = info.get('name')
    print(res1)

      2.5、字典的其他方法

        2.5.1、keys 获取字典中所有的键,可通过list转换为列表,tuple转换成为元组  

        2.5.2、values 获取字典中所有的值,可通过list转换为列表,tuple转换成为元组

        2.5.3、items:获取字典中所有的键值对

    五、关键字:del

      1、删除变量

      2、删除指定的元素

  • 相关阅读:
    爬虫练习
    爬取豆瓣电影top250
    简单爬虫
    正则提取子域名和ip
    用户体验培训总结
    测试经验总结
    项目管理知识总结
    读书笔记——《留住好员工:爱他们,还是失去他们?》
    ISTQB学习笔记
    数据结构和算法with Python
  • 原文地址:https://www.cnblogs.com/yuanxiaosong/p/12133403.html
Copyright © 2011-2022 走看看