第四天-列表中的其他方法,元组,字典及操作方法

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

  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、删除指定的元素

posted @ 2020-01-02 15:51  袁晓松  阅读(203)  评论(0编辑  收藏  举报