zoukankan      html  css  js  c++  java
  • python学习第八天

    一.列表的相关函数

    (1)向列表中添加元素

    1.append:向列表的末尾添加新的元素

    如:变量.append(添加的元素)

    2.insert:在指定索引之前插入元素

    如: 变量.insert(索引下标,添加的元素)

    3.extend:迭代追加所有元素

    如:变量.extend(可迭代的对象)

    (2)删除列表中的元素

    1.pop:通过指定索引删除元素,若没有索引则移除最后一个元素(推荐)

    如:变量.pop(索引)

    2.remove:通过给予的值来删除,如果有多个相同元素则默认删除第一个

    如:变量.remove(删除的元素)

    3.clear:清空列表

    如:变量.clear()

    (3)修改和查找列表:可参考列表的操作

    1.index:获取某个元素在列表中的索引(当值不存在时会报错)

    如:变量.index(某个元素)

    2.count:计算某个元素出现的次数

    如:变量.count(某个元素)

    3.sort:列表的排序(数字默认从小到大排序)

    如:变量.sort()

    对字母进行排序(依照ascii编码)

    可以对中文进行排序,但是没有规律可循

    4.reverse:列表反转操作(水平反转)

    如:变量.reverse()

    二.元组的相关操作和方法

    元组的相关操作除了不能修改和删除其中的元素之外,剩下的操作都和列表相同

    元组中的函数只有两个count和index跟列表中的方法使用一模一样

    三.深拷贝和浅拷贝

    (1)浅拷贝:只拷贝第一层级所有的元素,其他层级延续以前的数据

    语法:copy.copy(listvar)(推荐使用)或者listvar.copy()

    (2)深拷贝:所有层级的元素都单独拷贝一份,形成独立的副本

    语法:copy.deepcopy()

    深拷贝可以应用在字典中

    浅拷贝和深拷贝比,浅拷贝更快

    copy模块的copy方法和python内置的函数copy一样,都是浅拷贝

    地址:不可变数据会暂时指向原数据,可变数据会独立开辟新空间

    四.字典相关函数

    (1)字典的增加

    1.推荐使用

    dic={ }

    dic["top"] = "韩国shai哥"

    dic["middle"] = "肉鸡rookie"

    print(dic)

    2. fromkeys() : 使用一组键和默认值创建字典

    lst = ["a","b","c"]

    dic ={ }.fromkeys(lst,None)

    print(dic)

    注意:在使用fromkeys给字典一个键的值添加元素时,其他键所对应的值都会跟着改变

    (2)字典的删除

    1.pop:通过键取删除键值对(若没有该键可设置默认值,预防报错)

    如:res=dicpop("bottom123","没有")

    2.popitem:删除最后一个键值对

    如:res = dic.popitem()

    3.clear:清空字典

    如:dic.clear()

    (3)字典的改

    1.update:批量更新(有该键就更新,没有该键就添加)

    如:

    1,(推荐使用)

    dic={"ww":"大帅哥","spd":"渣男"}

    newdic={"ww":"大帅哥","wz":"一表人才"}

    dic.update(newdic)

    print(dic)

    2,

    dic.update(hj="未来战士,wyq="敬茶"

    print(dict)

    (4)字典的查

    1.get:通过键获取值(若没有该键可设置默认值,预防报错)

    其他函数:

    1.keys:将字典的键组成新的可迭代对象

    2.values:将字典中的值组成新的可迭代对象

    3.items:将字典的键值对凑成一个个元组,组成新的可迭代对象

    五.集合的相关操作(交差并补)

    (1) intersection:交集

    如:chao = set1.intersection(set2)

    简写: &

    chao = set1&set2)

    (2) difference:差集

    简写:  -

    (3) union:并集

    简写:  |

    (4) symmetric_difference:对称差集(补集情况涵盖在其中)

    简写:   ^

    (5)issubset:判断是否是子集

    简写:  <

    (6)issuperset:判断是否是父集

    简写:  >

    (7)isdisjoint:检测两集合是否不相交,不相交为True,相交为False

    集合相关的函数

    (1) 增

    1.add:向集合中添加数据(一次加一个)

    2.update:迭代着增加(一次加一堆)

    (2)删

    1.clear:清空集合

    2.pop:随机删除集合中的一个数据

    3.discard:删除集合中指定的值(不存在的不删除,推荐使用)

    4.remove:删除集合中指定的值(不存在则报错,了解)

    (3)冰冻集合(了解)

    frozenset:可强转容器类型数据变成冰冻集合

    特征:冰冻集合一旦创建,不能再做任何的添加或者删除操作,只能做交差并补

    六.文件操作

    fp=open("文件名","模式","字符编码集")

    fp:文件的io对象(文件句柄)

    i: input 输入

    o:output输出

    (1)文件的写入操作(write)

    1.打开文件

    文件不存在则创建文件,存在的话则打开清空内容,并且将文件指针放在文件的开头

    fp = open("文件路径",mode="w",encoding="utf-8)

    2.写入内容

    fp.write(内容)

    3.关闭文件

    fp.close()

    (2)文件的读取操作(read)

    1.打开文件

    文件不存在则报错! 存在的话则打开文件,并且将文件指针放在文件的开头

    fp = open("文件路径",mode="r",encoding="utf-8)

    2.读取内容

    res = fp.read()

    3.关闭文件

    fp.close()

    (3)字节流的转换

    二进制的字节流:用来传输或者存储的数据 bytes

    b开头的字符串,内容必须是assii编码

    将字符串和字节流(Bytes流)类型进行转换 (参数写成转化的字符编码格式)
    encode() 编码  将字符串转化为字节流(Bytes流)
    decode() 解码  将Bytes流转化为字符串

    (4)存储字节流

    wb和rb用来存储和读取二进制字节流,字节流模式下无需指定编码集

    1.打开文件

    fp = open("文件路径",mode="wb")

    2.写入字节流

    fp.write(二进制字节流)

    3.关闭文件

    fp.close()

    (5)读取字节流

    1.打开文件

    fp = open("文件路径",mode="rb")

    2.读取字节流

    res = fp.read()

    3.关闭文件

    fp.close()

  • 相关阅读:
    amazeUI modal 模态框 关闭属性
    获取radio点击事件
    SQL语句 常用记录
    前端
    deque源码1(deque概述、deque中的控制器)
    算法题:判断正则表达式的.和*的模式匹配
    list源码4(参考STL源码--侯捷):transfer、splice、merge、reverse、sort
    list源码3(参考STL源码--侯捷):push_front、push_back、erase、pop_front、pop_back、clear、remove、unique
    list源码2(参考STL源码--侯捷):constructor、push_back、insert
    风口的猪-中国牛市--小米2016笔试题
  • 原文地址:https://www.cnblogs.com/yunchao-520/p/12853396.html
Copyright © 2011-2022 走看看