set:类似dict,是一组dict的集合,不存储value。

本质:无序(没有下标)无重复的元素的集合。

创建:

创建set需要一个list或者tuple或者dict作为输入集合。重复元素在色中会被自动过滤。

s1=[1,2,3,4,5,6,1,2]

set(s1)={1,2,3,4,5,6} --表示》将列表转化成set集合类型。

s2=(1,2,3,4,5,6,1,2)

set(s2)={1,2,3,4,5,6} --表示》将元组转化成set集合类型。

s3={1:2,2:3,3:4}

set(S3)={1,2,3}       --表示》将字典转化成set集合类型。注意,只将字典的key转为set集合的元素。

还有以下操作:

list(set1)                      --表示》将set集合类型转化成列表类型。

tuple(set1)                   --表示》将set集合类型转化成元组类型。

增:

可以添加重复元素,但是不会有效果。

set1.add(value)  valu不可以是列表或者字典,一位列表或者字典是可变对象。

set1.update(value) 打碎插入,value必须是字符串,列表,元组,字典等可迭代类型。

删:

set1.remove(value):删掉集合set1里面的value大小的元素。

查:

只能通过遍历查找元素:

for i in set1:

print(i)

交集和并集:

set1=set2 & set3 :把set2和set3的交集赋给set1。

set1=set2  |  set3 :把set2和set3的并集赋给set1。

迭代器:

可迭代对象:可以直接作用于for循环的对象统称为可迭代对象(iterable),例如:字符串,列表,元组,set集合,字典。

可以用isinstance()判断对象是否为iterable对象。不过再调用isinstance之前应该输入:

from collections import Iterator

例如:

isinstance([],Iterable) 返回True,说明[]是可迭代对象

isinstance((),Iterable) 返回True

isinstance({},Iterable)  返回True

isinstance("",Iterable) 返回True

isinstance((x for x in range(10)),Iterable)  返回True,说明(x for x in range(10))是可迭代对象

可以直接作用于for的数据类型一般分为两种:

1:集合数据类型,如:list,tuple,dict,set,string。

2:generator,包括生成器和带yield的generator function。

迭代器(Iteratior对象):不但可以作用于for循环,还可以被next()函数不断调用,并返回下一个值,直到最后抛出一个异常stopIteration,表示无法继续返回下个值的对象,这边是迭代器。

可以用isinstance()函数判断一个函数是否是Iterator对象,不过在此之前,要调用:from collection import Iterator。

isinstance((x for x in range(10)),Iterator)  返回True,说明(x for x in range(10))是一个迭代器。

例如:

令k=(x for x in range(5)),则k就是一个迭代器。

next(k)=0

next(k)=1

next(k)=2

next(k)=3

next(k)=4

next(k)---因为迭代器内容已经访问完了,会抛出异常->stopIteration

list,tuple,str,dict都可以转化成为迭代器:

a=iter(list1) :把list1转化为迭代器了,赋值给a。

b=iter(tuple1) :把tuple1转化为迭代器了,赋值给b。

c=iter(str1) :把str1转化为迭代器了,赋值给c。

d=iter(dict1) :把dict1转化为迭代器了,赋值给d。

迭代器应用实例:将input以'\n'表示结束标志改成以'end'作为input的结束标志。

endStr='end'

str=''

for line in iter(input,endStr)

str+=line+'\n'

print(str)

python哪些类型可以作为迭代器_python0.8-----set类型与迭代器相关推荐

  1. Python基础day4 函数对象、生成器 、装饰器、迭代器、闭包函数

    一.函数对象 正确理解 Python函数,能够帮助我们更好地理解 Python 装饰器.匿名函数(lambda).函数式编程等高阶技术. 函数(Function)作为程序语言中不可或缺的一部分,太稀松 ...

  2. python生成器与迭代器的区别_python生成器和迭代器的区别

    匿名用户 1级 2016-10-13 回答 迭代器和生成器都是Python中特有的概念,迭代器可以看作是一个特殊的对象,每次调用该对象时会返回自身的下一个元素,从实现上来看,一个可迭代的对象必须是定义 ...

  3. Python基础教程:带参装饰器、生成器、迭代器、for循环迭代器、枚举

    带参装饰器 装饰器为被装饰的函数添加新功能,需要外界参数 outer参数固定一个,就是func inner参数固定和被装饰的参数固定,也不能添加新参数 可以借助函数的嵌套定义,外层给内层传参 def ...

  4. python集合类型_Python 的集合(set)类型

    本文简单介绍了Python语言里set类型自带的方法,set类型表示元素和集合的从属关系(membership),和列表等序列相比,最大的特点是无序.可以跟数学里的集合概念完全对应起来. 目录 概念 ...

  5. Python中最常用的 14 种数据可视化类型的概念与代码

    写在前面 收集数据后,需要对其进行解释和分析,以深入了解数据所蕴含的深意.而这个含义可以是关于模式.趋势或变量之间的关系. 数据解释是通过明确定义的方法审查数据的过程,数据解释有助于为数据赋予意义并得 ...

  6. python计算小数点后有几位_python的数字类型

    python的数字类型分为三种,分别是整数int. 浮点数float 和 复数complex. 数字是由数字字面值或内置函数与运算符的结果来创建的, 不带修饰的整数字面值会生成整数.包含小数点或幂运算 ...

  7. python判断图片类型_Python使用filetype精确判断文件类型

    filetype.py Small and dependency free Python package to infer file type and MIME type checking the m ...

  8. python迭代器和生成器的作用_python迭代器与生成器的详细介绍

    一.什么玩意是迭代器? 先说说什么是迭代吧,迭代就是一件事情重复很多次,比如说for循环. for循环可以对一切有iter方法的对象进行迭代,那么什么是iter方法呢? 一个对象是否可迭代,全都取决于 ...

  9. 【Python茴香豆系列】之 PANDAS 变更列的类型

    用 Python 编程,使用不同的方法来完成同一个目标,有时候是一件很有意思的事情.这让我想起鲁迅笔下的孔乙己.孔乙己对于茴香豆的茴字的四种写法颇有研究.我不敢自比孔乙己,这里搜集一些 Python ...

最新文章

  1. NoSQL and Redis
  2. python推荐系统-利用python构建一个简单的推荐系统
  3. 【ajax+php】动态展示4级单位(省、市、县、镇)
  4. MyCat基本概念、配置文件及日志配置
  5. Ubuntu安装 AndroidStudio
  6. 2018年最具就业前景的7大编程语言:Java、Python、JavaScript、C++、C#、PHP、Perl ......
  7. Datatable/Dataset 转 JSON方法
  8. 经典面试题:断网排查思路
  9. 列向量互信息计算通用MATLAB代码
  10. Kepware三菱驱动连接轻松开启
  11. 命运2服务器维修,命运2服务器
  12. 第三方支付接口开发原理
  13. 天才绅士少女助手克里斯蒂娜 [数学+树状数组]
  14. Centos7.2离线安装Docker和nvidias-docker2安装教程
  15. Makefile之origin函数
  16. 我的第一篇CSDN博客
  17. 三大微分中值定理和洛必达法则、泰勒公式
  18. python 拆分excel单元格_python 操作excel
  19. 对bootstrop中左右浮动设置
  20. 如何用URL Scheme H5链接,直接打开微信小程序

热门文章

  1. Sublime Text for Mac的快捷键
  2. Mac 如何操控远程的 Windows 电脑
  3. mysql查询不确定的信息_mysql 07.18
  4. 【WebRTC---序篇】(一)为什么要使用WebRTC
  5. C++ 11 深度学习(九)C++文件IO
  6. 【WebRTC---入门篇】(七)MediaStream
  7. 在建工地扬尘在线监控系统推荐_vocs在线监控系统安装的法规依据
  8. java gnu_GNU/Linux下Java开发环境的安装和配置 | 学步园
  9. 模糊搜索怎么实现_干货 | 你真的了解自己是怎么搜索的吗_01
  10. java 什么时候用递归_如果要用Java实现算法,一定慎用递归