Python笔记--函数及数据容器

函数:

注意:函数必须先定义后使用

           返回语句和参数不需要时可以省略

           无返回值的函数返回None,None在 if 条件中等于false

函数说明文档:通过多行注释(三个双引号+回车自动生成,pycharm)

global  num     将函数内的局部变量改为全局变量

数据容器:

针对可不可以修改的定义:对原容器是否造成影响,即修改元素后是改变本身还是生成新的容器

一、list列表       支持重复元素、有序    可修改

列表可以一次性存储多个元素,且每个元素可以是不同类型,支持列表嵌套

#字面量          [元素1,元素2,....]

#定义变量       变量名=[元素1,元素2,.......]

#定义空列表     变量名=[ ]     或   变量名=list( )

#通过下标索引获取列表数据     

    列表名[下标]    从前向后从0开始,每次+1;  从后向前从-1开始,每次-1(反向索引)

list方法:

查找元素在列表的下标:    列表名.index(元素)    存在则返回元素所在列表的位置,不存在则报错

在指定下标插入元素:列表名.insert(下标,元素)

追加元素:列表名.append(元素)         只在列表尾部添加元素

追加一批元素:列表名.extend(其他数据容器)     即将其他数据容器的元素取出来,依次添加到列表尾部

通过下标删除指定元素:方式1:del  列表名[下标]

方式2:列表名.pop(下标)      该方式具有返回值,可用变量接收,返回列表指定下标被删除的元素

删除某元素在列表中的第一个匹配项:列表名.remove(元素)

清空列表的内容:列表名.clear()

统计元素在列表的数量:列表名.count(元素)         具有返回值

函数 len(列表)   用于统计列表元素个数    返回一个int值

for循环对容器遍历:

for  临时变量   in  数据容器 :

     对临时变量进行处理

二、元组      支持重复元素、有序    不可修改

定义后不可修改,相当于不可修改的list列表,同样支持不同类型元素和嵌套

定义:变量名=(元素1,元素2,...)  注意是小括号

注意:元组只有一个数据时,在该数据后面要添加一个逗号。如t=(“666”,)

支持下标索引、index(元素)、count(元素)、len(元组名),以及遍历和list一样

虽然不可修改元组内容,但是可以修改元组内的list列表的内容(即元组嵌套了list时)

三、字符串      支持重复元素、有序   不可修改

1、和list一样可以正反向通过下标索引取值

2、和元组一样,不可修改内容

3、变量名.replace(字符串1,字符串2)    用字符串2替换字符串1得到新的字符串返回

4、变量名.split(分隔符字符串)  根据字符切分,返回list列表数据类型

5、变量名.strip()  去除字符串前后空格   

变量名.strip(字符串1)   去除字符串前后指定的字符串1,注意:是去除和字符串1中相匹配的字符

如  my_str="12my tree21"   my_str.strip("12")  结果是“my tree” ,是分别根据“1”,“2”来去除的

四、序列      支持重复元素、有序

指:内容连续、有序,可使用下标索引的一类数据容器,如列表、元组、字符串等都可视为序列

序列支持切片,切片即从一个序列中取出子序列,切片不影响序列本身,而是得到一个新序列

语法:序列[起始下标 结束下标 步长]      下标可以留空,表示从头 尾部开始 结尾

步长默认为1,可省略; [ : ]   表示从头到尾以步长为1进行切片,即取原数据     [ : :-1]   反转序列

注:切片得到的序列数据取不到结束下标对应的数据,即不包含结束下标

result0=my_str[5:10][::-1]  像这种可以复合切片,先切片截取再逆转

 

 五、集合     不支持重复元素、无序   可修改

定义空集合:  变量名=set()      不能是变量名={ },因为这是空字典的定义

定义集合变量: 变量名={元素1、....、元素n}

自动消除重复元素,因为无序所以不支持下标索引,所以集合遍历不能用while循环只能用for循环

常用操作

1、添加元素:   集合名.add(元素)

2、移除元素:  集合名.remove(元素)

3、随机取出某一元素并从集合移除:  集合名.pop()    返回结果,即返回取出的元素

4、取集合的差集(即集合1有集合2没有):集合1.difference(集合2) 返回一个新集合,不改变原集合

5、消除2个集合的差集: 即在集合1内,删除和集合2相同的元素

      集合1.difference_update(集合2)   集合1被修改,集合2不变

6、合并2个集合: 集合1.union(集合2)     将集合1和集合2合成新集合,不改变原集合

六、字典      可修改

存储的是键值对,key不可以重复,无下标索引,通过key来获取value:字典名 [ key ]

key可以为除字典以外的任意数据类型,value可以为任意数据类型包含字典

定义语法:  字典变量名={key:value,key:value,...,key:value}

定义空字典: my_dict={ }  或   my_dict=dict()

常用操作

1、获取指定key 的value:字典[key] 

2、新增/更新元素: 字典[ Key ]=Value   若key存在则更新value否则新增

3、取出value并删除元素:字典.pop(key)  返回指定key的value值,并删除字典中的key,value

4、获取全部的key:字典.keys()    获取字典中全部的key

5、遍历    两种遍历方式都行

①keys=my_dict.keys()     获取字典全部的key

   for key in keys:

   print(my_dict[key])    打印key对应的value

② for key  in  my_dict:

     print(my_dict[key])    打印key对应的value

七、数据容器对比

 通用函数:len(容器),min(容器),max(容器)

 通用类型转换:  字典转成其他容器在于丢不丢失value值

                        list(容器)   将容器转换成列表        str(容器)   将容器转换成字符串

                        tuple(容器)   将容器转换成元组         set(容器)   将容器转换成集合

通用排序功能:  排序后的结果通通为列表对象

sorted(容器,[reverse=True])   reverse默认为false,从小到大排序

字典默认根据key进行排序和比较

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值