zoukankan      html  css  js  c++  java
  • 第三章 列表、元组、字典、字符串的操作

    本章重点:

    1、熟练掌握列表、字典的增删该查循环功能,总结出两者的区别

    2、元组的定义和基本功能

    3、字符串的常见用法

    一、列表,是我们以后最常用的数据类型之一,功能有增加、修改、删除、查询、切片、循环、排序

    1、定义:name=["suly","zoe","mark",1,2,3,,4,5,6] ,从左往右索引值分别为0,1,2,3,4……  ,从右往左分别为-1,-2,-3,-4……

         定义一个空列表: name=[]

    2、增加:(1)增加到最后name.append()

                     (2)插入到对应索引值的位置name.insert(1,"marry")

    3、修改:(1)索引值为1的元素修改成“lily”:name[1]="lily"

                     (2)批量修改,索引值2到4的元素分别修改为“s”,"a","s",5和6的位置直接插入“l”,"y:name[2:5]="sasly"     ;注意顾头不顾尾

    4、删除:(1)批量删除索引值2到5的元素,注意5不删除,del name[2:5]

                     (2)删除最后一个元素并返回其值:name.pop()

                     (3)删除指定元素“lily":”name.remove("lily")

    5、查询:(1)查询Lily的索引值:name.index("Lily")

                     (2)查询元素4的个数:name .count(4)

    6、循环:

    (1)for i in name:

                   print(i)

    (2)for index,i in enumerate (name):

                      print(index,i)

    7、切片:将索引值2到4的元素切出来组成新列表name1=name[2:5]注意顾头不顾尾

    (1)从头开始切name[0:5];name[:5]

    (2)从第5个切到最后一个:name[5:]   ;从倒数第5个切到最后一个:name[-5:]

    8、排序:

    (1)name.sort()    

    (2)name.reverse()    反转,顺序掉换    

     9、复制:name1=name.copy()

    (1)浅copy,只有第一层独立。

    (2)深copy,完全独立: import copy 

                                name1=copy.deepcopy(name)

    10、获取列表长度:len(name)

    11、拼接:name1+name2      或者把name2加到name1:name1.extend(name2)

    12、清空列表:name.clear()

    二、元组=只读列表,不可修改,所以功能只有查询和统计。

    三、字符串:有序、不可变

    isdigit,replace,find,count,strip,center,split,format,join.

    四、hash函数:输入任意长度,通过散列算法,将值变换成固定长度输出。被hash的值必须固定。

        数字、元祖、字符串都不可变,所以可hash。列表不可hash。

    五、字典:

    1、定义:info={"key1":"value1"," key2":"value2","key3":"value3"……}其中key值不可变,且不能重复,可hash。也有增加、删除、修改、查询、循环功能。

    2、字典的特点:(1)无序(2)查找速度快(3)可存放任意多个值

    3、增加:info["key4"]="value4"

    2、删除:

    (1)删除并返回其值:info.pop("key1")

    (2)info.popitem()随机删除

    (3)del info["key1"]

    3、修改:info["key1]="suly"

    4、查询:

    5、打印所有key值:info.keys;   打印所有value值:info.values

    (1)“key1”in info:

    (2)info.get(“key1”),获取key1的值,没有就返回none

    (3)info["key1"],查找key1的值,没有就报错

    5、循环

    for index,i in enumerate(info):

        print(index,i)

    6、字典转列表:info.items()

    7、合并:info.update(info1)  把info1合并到info里,key值一样的就覆盖

    8、info.setdefault("key2","value2"),有key2就查找,没有就新建一个key2,其值为value2

    9、批量生成key:info.fromkeys(["a","b","c"])

                          

  • 相关阅读:
    [c/c++] programming之路(13)、函数
    [c/c++] programming之路(12)、循环结构
    opencv学习之路(18)、霍夫变换
    [c/c++] programming之路(11)、顺序分支
    opencv学习之路(17)、边缘检测
    opencv学习之路(16)、膨胀腐蚀应用之走迷宫
    [c/c++] programming之路(10)、格式符后续
    opencv学习之路(15)、形态学其他操作(开、闭、顶帽、黑帽、形态学梯度)
    opencv学习之路(14)、形态学之膨胀腐蚀
    [c/c++] programming之路(9)、运算优先级
  • 原文地址:https://www.cnblogs.com/51zf/p/9127098.html
Copyright © 2011-2022 走看看