文首,我先强调一下我是一个弱鸡码农,这个随笔是在我学习完Python3中的元组、字典、列表,集合这四种常见数据的数据类型的一些感想,如果有什么不对的地方欢迎大家予以指正。谢谢大家啦

回归正题:这篇随笔讨论的是列表、字典、元组、集合。因此首先对着三种数据类型进行简要的分析是很有必要的:

  1 :列表

    列表的特点是以“[ ]” (后面称之为中括号)为主要特点的数据类型。学过其他语言的小伙伴第一反应就是,这不就是一个数组么,确实我个人感觉和数组十分的相似,不过有一下不同:

     a.在c++/java中数组中存放的类型是固定的,但是在python3中,列表存放的数据类型是可以不一致的。

      例如(以java为例子):

          int [] arr=new int[10]

          在arr数组中存放的数据类型智能是int类型的,并且数组长度是固定的长度(10)

     b.在java中数组长度必须申明好,你得告诉jvm你需要多大的数据空间,对应jvm会在堆里面给你开辟对应大小的存储空间,但是列表则是不会限定大小(这点有点和java的list类似)

    主要不同点在于此两点,聪明的小伙伴会说,那这个列表是不是就是和java的list是一样的??回答是不是,因为虽然功能相似(真的很像)但是中括号这样方式显然不是一个List。但是功能却和List极其相似宁。列表是一个可迭代的对象但却不是一个迭代器对象。同时列表是可以动态的修改原来列表中的属性。

    接着,因为列表的可变性,所以列表有一系列的BIF(内置函数)对列表进行更加便捷的操作:

    append() 向列表中添加一个元素

    count()  查询列表中某个元素出现的次数

    insert()  insert函数一共有两个参数,一个是下表一个是元素。意思为在某处插入某个元素

    reverse() 将列表到倒转

    clear() 删除列表中的某个元素,注意,如果元素没有的话就会报错(java里面理解应该是runtimeexception)

    extend()  将两个列表连接起来

    pop()    将最顶端的值弹出

    sort()   将列表进行排序

    copy()    拷贝列表(此时位深拷贝)

              

    index()查找某个元素所在的位置如果该元素不存在会报错

  2.字典(DIctionary)注意:在传递参数用(**arg)用来保存字典

    通过对比学习,有过java学习经验的同学可以将字典类比成java中的Map。他的表达形式是:{ key:value , }注意key与value的中间需要用:而不是,如果换成,那么就会变成了一个集合。与Map类似,字典的Key字段是不能够重复的,因此可以理解是Key实现了Set接口,而Value实现了List接口。

    其内置BIF有:

      1.clear()---- 清楚列表中的所有值

      2.keys() ----- 获取构造函数(dict())下的所有的key

      3.values()。----- 获取构造函数(dict())下的所有的Values

       ....etc.

    注意:空字典用{}来创建    

  3.元组(Tuple)注意,在函数传递参数时候用(*arg)来接受任意长度与个数的参数,并用元组保存

    tuple的功能与list(列表)类似,它也是一个可迭代的数据类型.与list不相同的地方就是tuple是一个不可变类型。就是说一旦创建在内存中的地址就确定好了,并且里面的元素是也是伴随着创建而固定。因而tuple没有BIF对其数据进行修改。

    特点:以(,)为特点,注意是要包含, ,单个()并不是元素的特征。tuple可以被索引和切片,注意如果被索引或者切片是生成了一个新的tuple。

        

  4.集合 (Set)

    表示一个无序不重复的序列。注意创建一个空集合可以使用{}或者set()

    集合可以用来求并交补和抑或(得出的结果依旧是Set):

      1.并  |

      2.交 &

      3.补 -

      4.抑或 ^          

          

5.互相转换

  截图来源 https://www.cnblogs.com/cisum/p/8064145.html

 

Python3中列表、字典、元组、集合的看法的更多相关文章

  1. python3中列表、元组、字典的增删改查说明详解

    python基础中的列表.元组.字典属于python中内置的序列数据结构.其中序列可以进行的操作包括索引.截取(切片).加.乘.成员检查等. 1.列表 列表(list)是最常用的python数据类型之 ...

  2. python之字符串,列表,字典,元组,集合内置方法总结

    目录 数字类型的内置方法 整型/浮点型 字符串类型的内置方法 列表的内置方法 字典的内置方法 元组的内置方法 集合类型内置方法 布尔类型 数据类型总结 数字类型的内置方法 整型/浮点型 加 + 减 - ...

  3. python中 列表 字典 元组的了解

    #######列表######1.列表的特性 server = [['http'],['ssh'],['ftp']] server1 = [['mysql'],['firewalld']]  连接  ...

  4. Python中列表,元组,字典,集合的区别

    参考文档https://blog.csdn.net/Yeoman92/article/details/56289287 理解Python中列表,元组,字典,集合的区别 列表,元组,字典,集合的区别是p ...

  5. C#在foreach循环中修改字典等集合出错的处理

    C#在foreach循环中修改字典等集合出错:System.InvalidOperationException: Collection was modified; enumeration operat ...

  6. Python中的字典与集合

    今天我们来讲一讲python中的字典与集合 Dictionary:字典 Set:集合 字典的语法: Dictionary字典(键值对) 语法: dictionary = {key:value,key: ...

  7. Python2和Python3中列表推导式的不同

    Python2和Python3中列表推导式的不同 python2 >>> x = 'my girl' >>> lst = [x for x in 'hello'] ...

  8. 菜鸟学IT之python3关于列表,元组,字典,集合浅认识!

    作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2753 一.列表,元组,字典,集合分别如何增删改查及遍历. 列表 # 列表的 ...

  9. Python中列表、元组、字典、集合与字符串,相关函数,持续更新中……

    本篇博客为博主第一次学 Python 所做的笔记(希望读者能够少点浮躁,认真阅读,平心静气学习!) 补充: 列表.元组和字符串共同属性: 属于有序序列,其中的元素有严格的先后顺序 都支持双向索引,索引 ...

随机推荐

  1. VS“无法查找或打开PDB文件”解决方法

    ``#运行时报错提示 "温度柱状图.exe"(Win32): 已加载"C:\Windows\SysWOW64\rpcrt4.dll".无法查找或打开 PDB 文 ...

  2. 有关80386cpu在保护模式下的虚拟地址,线性地址和实际物理地址的关系

    80386cpu是8086cpu的升级版,其具有32位的寄存器.(32根地址线和32根数据线) 8086cpu其是16位的寄存器但是其地址线有20根,其寻址范围为2的20次方,但是有一个16位的寄存器 ...

  3. SSM框架整合(Spring+SpringMVC+Mybatis)

    第一步:创建maven项目并完善项目结构  第二步:相关配置 pom.xml 引入相关jar包 1 <properties> 2 <project.build.sourceEncod ...

  4. [bug]MySQL [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause

    参考 http://www.10qianwan.com/articledetail/220315.html

  5. 【转载】复制文件到已存在的Jar

    复制文件到已存在的Jar 技术标签: Ant  OSGI  Eclipse  脚本  配置管理   问题 这两天在写一个小东西.这个小东西是一个大东西的一部分.其实也就是其中的一两个类.而这个大东西需 ...

  6. 把一个整体目标设置成多个分阶段目标,完成了一个目标后,就相当于一件事OVER

    如果事情有变坏的可能,不管这种可能性有多小,它总会发生 . 一.任何事都没有表面看起来那么简单:二.所有的事都会比你预计的时间长:三.会出错的事总会出错:四.如果你担心某种情况发生,那么它就一定会发生 ...

  7. 攻防世界(七)ics-06

    攻防世界系列:ics-06 1.打开题目 很LiuPi的样子,根据题目提示点开报表中心(其他的点开没什么变化) 注意到URL中有?id=1,测试其他数值无果 3.抓包对id爆破 设置1-10000,爆 ...

  8. SSL数字证书颁发

    一.数字证书 1.数字证书实际上是存在于计算机上的一个记录,是由CA签发的一个声明,证明证书主体("证书申请者"拥有了证书后即成为"证书主体")与证书中所包含的 ...

  9. STM32进阶日志1

    一 工程习惯 ①必须模块化编程-一个功能一个CH分开,一个对象一个结构体; ②习惯使用bsp.c/bsp.h,BSP板级支持包源文件; ③多使用#define 来定义IO口与硬件相关特性,方便修改; ...

  10. yml配置从nacos配置中心取数据(单个或多个)

    读取单个文件 spring: application: name: test-server cloud: nacos: config: server-addr: localhost:8848 name ...