学习总结2019.3.25

元组 (存多个数据,不可变,有序)

定义:在圆括号内用逗号隔开的多个任意类型数据,元组与列表的
    t = (1, ‘a‘, (‘b‘,2))
    t = (1, )

    常用操作:
    索引取值
    t = (1, 2, 3, 2, 3, 2)
    print(t[1])
    print(t[-2])

    切片
    print(id(t))
    nt = t[:-1:]
    print(nt, id(nt))

    长度(item元素个数)
    print(len(t))

    成员运算(in | not in )

    元组内置方法
    print(t.count(2))  # 该数据集合可以存放相同数据
    print(t.index(2, 2, 3))

    元组中的数据一定不能改变,但是元组中的数据(可变类型)的数据可以改变
    t1 = (1, 2, "abc", True, (1, 2))  # t1永远无法改变
    t2 = (1, 2, [])
    print(t2, type(t2), id(t2), id(t2[2]))
    t2[2].extend((10, 20))
    print(t2, type(t2), id(t2), id(t2[2]))

字典 (存多个数据,无序,可变)

定义:花括号内用逗号分隔开的多组key:value元素
    dict的key:可以为所以不可变类型:int float tuple str bool None, 一般就采用字符串
    dict的value:可以为所以数据类型
    注:key具有唯一性(重复会覆盖旧值),value可以重复

    字典的常用操作:
    增/改/查:
    dic[key] = value
    dic.update({key1:value1,key2:value2......})   添加的参数字典,与dic可以重复,
    就是更新值,新key就是新增
    dic.setdefault(key,value)   key存在不进行操作,key不存在则将key:value存入字典
    删:
    del dic[key]
    dic.pop(key)  删除并返回key
    dic.popitem()  随机删除一组key:value,并返回值

    复制:dic.copy(浅拷贝)
    d1 = {‘list‘: [1, 2]}
    d2 = d1.copy()
    print(id(d1), id(d1[‘list‘]))
    print(id(d2), id(d2[‘list‘]))
    d1[‘list‘].append(‘abc‘)
    print(d2)

    定义空字典:fromkeys
    第一个参数:keys:list|tuple|str,第二个参数:统一的默认value
    d10 = {}.fromkeys([‘a‘, ‘b‘, ‘c‘], ‘‘)
    print(d10)  # {‘a‘: ‘‘, ‘b‘: ‘‘, ‘c‘: ‘‘}

    dic.keys()    # 存放key的集合
    dic.values()    # 存放value的集合
    dic.items()     # 存放key-value的键值对关系的集合
    以上得到的集合不是原生list,无法索引取值,但是可以for循环取值

集合(set) (存多个值,无序,可变),主要用于去重

定义:花括号内用逗号隔开的多个任意类型数据,但数据具有 唯一性
    s1 = set()  # 创建空集合
    s2 = set(‘abc‘,10,True)

    内置方法与使用:
    集合间的运算:(& | ^ - > < ==)
    p_set = {‘a‘, ‘b‘, ‘c‘, ‘egon‘}
    l_set = {‘x‘, ‘y‘, ‘z‘, ‘egon‘}

    交集 & / intersection
    res = p_set & l_set    # {‘egon‘}

    并集  |  /  union
    res = p_set | l_set     # {‘z‘, ‘c‘, ‘y‘, ‘x‘, ‘b‘, ‘a‘, ‘egon‘}

    差集  -  /  difference
    res = p_set - l_set     # {‘x‘, ‘z‘, ‘y‘}

    对称差集   ^  /  symmetric-difference
    res = p_set ^ l_set    # {‘y‘, ‘a‘, ‘b‘, ‘x‘, ‘z‘, ‘c‘}

    p_set.difference_update(l_set)  # 将运算结果赋值给调用者
    p_set = p_set - l_set
    print(p_set)  # {‘c‘, ‘a‘, ‘b‘}
    print(l_set)  # {‘egon‘, ‘z‘, ‘y‘, ‘x‘}

    添加和删除操作:add  /  pop  /remove
    s = set()
    s.add(‘abc‘)
    s.pop()   # 随机删除一个ele元素
    s.remove  # 有ele删除,无ele抛异常

    父子集:
    sup_set = {1, 2, 3, 4, 5}
    sub_set = {1, 2, 3}
    temp_set = {3, 2, 1}
    flag_set = {7, 8, 9}

    print(sup_set > sub_set)
    print(sup_set < sub_set)
    print(temp_set == sub_set)

    isdisjoint 判断两个集合是否没有交集
    res = flag_set.isdisjoint(temp_set)
    print(res)
    res = temp_set.isdisjoint(sup_set)
    print(res)

原文地址:https://www.cnblogs.com/penghengshan/p/10604720.html

时间: 2024-08-30 16:36:52

学习总结2019.3.25的相关文章

python学习心得2019/9/25

python的介绍:Python是一种跨平台的计算机程序设计语言(高级开发语言同Java与Objective). 特点:面向对象动态类型,简洁.易读以及可扩展性. 学习目标:Python where we can, C++ where we must在操控硬件的场合使用C++,在快速开发时候使用 Python. 和其他语言对比:python->字节码->机器语言->0101,没有C/C++快,内存管理不用自己考虑了,不考虑过程,难度与所学过的语言相比,c/c++>Objective

2019/08/25 leetcode

2019/08/25: L230, L226, L18, L234, L23 1. L230 Kth smallest element in BST 借助 Stack 或 LinkedList inorder traveresal, LinkedList会更快 ArrayList, LinkedList, Vector, Stack  https://blog.csdn.net/iteye_11495/article/details/82618748 2. L226 Invert Binary

斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时24&amp;&amp;25

课时24 深度学习开源库使用介绍(上) Caffe 被用于重新实现AlexNet,然后用AlexNet的特征来解决其他事情 用C++书写的,可以去GitHub上面读取源代码 主要四个类: Blob可以存你的权重,像素值,激活等,是n维的张量,就像NumPy一样,他实际上内部有四个n维张量,这个张量有一个数据的版本,用于存储原始未处理的数据.剩下三个分别有diffs,GPU,CPU: 层是一种与你作业中所需要实现的功能相似的功能,会接收输入的Blob,caffe管这些输入的Blob称为底端输入,然

Pyton学习路线2019升级版(课程大纲+视频教程+网盘资源下载)

2019最新Pyton全栈+人工智能学习路线升级版 全面涵盖前端.后端.爬虫.数据挖掘.人工智能等课程(课程大纲+视频教程+网盘资源下载)! 学习路线四大亮点: 1.人工智能三大主流框架全覆盖 2.贯通前端后端实用技术 3.强化人工智能项目实战能力 4.高度还原企业级数据挖掘分析场景 Python前景分析: Python以其简洁优美.功能强大.高效率的先天优势成为企业新宠 ,此外,国内计算机教育也越来越重视Python在编程中的地位. 1.教育大省北京和山东确定将Python编程基础纳入信息技术

opencv学习之路(25)、轮廓查找与绘制(四)——正外接矩形

一.简介 二.外接矩形的查找绘制 1 #include "opencv2/opencv.hpp" 2 using namespace cv; 3 void main() 4 { 5 //外接矩形的查找绘制 6 Mat srcImg =imread("E://12.jpg"); 7 imshow("src",srcImg); 8 Mat dstImg = srcImg.clone(); //原图备份 9 cvtColor(srcImg, srcIm

黑马程序员——java学习16(毕25)——正则表达式

正则表达式 符合一定规则的表达式 作用:专门用于操作字符串 特点:用于一些特定的符号来表示一些代码操作,这样就简化书写 好处:可以简化对字符串的复杂操作 具体操作功能: 1.匹配: public boolean matches(String regex) 参数 regex - 用来匹配此字符串的正则表达式 2.切割   String[] split(String  regex) 根据给定正则表达式的匹配拆分此字符串. 3.替换 String  replaceAll(String  regex ,

2019.4.25 周四 阴有小雨

今天晚上跟朋友吃了一顿小龙虾和烧烤,然后又看了一把复联四,顺便交流了一波java技术加吹牛,very happy! 周五早上有个去亚信的面试,咨询了在那个部门工作的小伙伴,说用到kalfka和storm.天呐我也有没实际用过,那就随便自学一点点外加背几题面试题吧. 一.kalfka Apache Kafka® is a distributed streaming platform. a few concepts: --Kafka is run as a cluster on one or mor

Linux 学习记录 2019年5月5日

2.1 shell内核:include <stdio.h> shell是应用程序控制硬件终端的一个统称.bash 1:广泛 2:好用 tab键补齐 .既然Linux系统中已经有了Bash这么好用的"翻译官",那么接下来就有必要好好学习下怎么跟它沟通了. 常见执行Linux命令的格式是这样的:命令名称 [命令参数] [命令对象]注意,命令名称.命令参数.命令对象之间请用空格键分隔. 命令:要做的事情参数:对命令的修饰 让命令更加适用于当前的工作场景对象:被动方,承受者 命令对

阶段性自我反思及学习动员----2019.07.07

自我反思及学习动员 Time is flying! 转眼间,工作已经这么多年了,按理说,在职场经过这么多年时间的洗礼,我也应该被洗成职场老手了:然而事实上,老的只是年龄,技术方面一点也不老,甚至还比不过一个刚入职的职场新人. 深刻反思 有上述中的不安全感,究其原因,有如下反思: 1.缺乏反思:自己在工作.学习中碰到过不少问题,在解决问题之后没有花费时间和精力去做好总结和记录,致使好多碰到过的问题,再次碰到时还是不知道怎么处理,还得重新去想办法解决,即花费了时间精力,又没有很好的学习提高成效. 2