1、基础数据类型汇总补充

1,list:
在循环一个列表是,最好不能删除列表中的元素。
2,bool
空列表、int:0、空str、空dict、空set---》bool:false
其余为true
3,dict
dic = dict.fromkeys([1,2,3],'春哥')
print(dic)
在循环一个字典当中不能删字典内的内容
面试题:
tu1 =(1)----->int
tu2 =(1,)------->tuple
元祖里边只有一个元素,且不加‘,’该是什么类型还是什么类型。

2、集合

1,集合是一个可变数据类型,里边存的元素必须是不可变的数据类型。集合无序,元素不能重复。-------》去重:将列表转化为集合,在转化回去就可以去重。
2,形式 {}: set1 =set({1,2,3})
                print(set1)
      set2={1,2,3}
------》不可哈希:可变数据类型。
增、删、查

增:

1、add

set1 = {'alex','wusir','ritian','egon','barry'}
set1.add('女神')
print(set1)
#set1 = {'alex','wusir','ritian','egon','barry','女神 '}        
2,update---->与extend类似。
#update
set1 = {'alex','wusir','ritian','egon','barry'}
set1.update('abc')
print(set1)

1,pop

set.pop()#随机删除,有返回值

2,remove

remove#按元素去删。没有这个元素会报错

3,clear

clear#清空集合
4,del
del 删除集合。---》会报错

只能用for去查

3、集合的交集并集差集

1,交集:

set1 ={1,2,3,4,5}
set2 ={4,5,6,7,8} set3 = set1& set2 print(set)

或者

set1 ={1,2,3,4,5}
set2 ={4,5,6,7,8}
print(set1.intersection(set2))

2,并集

set1 ={1,2,3,4,5}
set2 ={4,5,6,7,8}
 print(set1 | set2) 

或者

set1 ={1,2,3,4,5}
set2 ={4,5,6,7,8}
print(set2.union(set1))

3,反交集

set1 ={1,2,3,4,5}
set2 ={4,5,6,7,8}
print(set1 ^ set2)
或者
set1 ={1,2,3,4,5}
set2 ={4,5,6,7,8}
print(set1.symmetric_difference set2)

4,差集

set1 ={1,2,3,4,5}
set2 ={4,5,6,7,8}
print(set1.difference(set2))

或者:

set1 ={1,2,3,4,5}
set2 ={4,5,6,7,8}
print(set1-set2)
面试题:(去重)
 
li=[1,2,33,33,2,1,4,5,6,6]    
#去除重复元素----set
s1 = set(li)
print(set1) #{1,2,33,4,5,6}
li = list(set1)
print(li)

---------------------------------------------------------------------------------------------------------------------------------------

4、将集合转化为不可变数据类型

        s =frozenset('barry')---->frozen类型
 

5,深浅拷贝

1,浅copy
li =[1,2,3]
li2 = li.copy()
copy产生了一个新的列表----》copy----》浅copy
2,深copy

浅copy。赋值运算是共用一个ip地址,切片再赋值是浅copy
 
 

补充:

枚举
for i in enumerate(li):
    print(i)
 

Python学习日记:day7-----集合的更多相关文章

  1. Python学习日记(四) 集合和元祖

    元祖的特性:是一个只读列表.可以循环.可以切片,修改数据遵循'儿子'不能改但'孙子'可能可以改. iterable:可迭代对象(元祖.列表.字串.集合) 元祖宣告方式: tu = (1,2,3,['a ...

  2. Python 学习日记(第三周)

    知识回顾 在上一周的学习里,我学习了一些学习Python的基础知识下面先简短的回顾一些: 1Python的版本和和安装 Python的版本主要有2.x和3.x两个版本这两个版本在语法等方面有一定的区别 ...

  3. Python学习记录day7

    目录 Python学习记录day7 1. 面向过程 VS 面向对象 编程范式 2. 面向对象特性 3. 类的定义.构造函数和公有属性 4. 类的析构函数 5. 类的继承 6. 经典类vs新式类 7. ...

  4. python学习笔记整理——集合 set

    python学习整理笔记--集合 set 集合的用途:成员测试和消除重复的条目,进行集合运算 注意:花括号或set()函数可以用于创建集合. 注意:若要创建一个空的集合你必须使用set(),不能用{} ...

  5. Python学习日记 --day2

    Python学习日记 --day2 1.格式化输出:% s d  (%为占位符 s为字符串类型 d为数字类型) name = input('请输入姓名') age = int(input('请输入年龄 ...

  6. python学习日记(基础数据类型及其方法01)

    数字 int 主要是用于计算的,常用的方法有一种 #既十进制数值用二进制表示时,最少使用的位数i = 3#3的ASCII为:0000 0011,即两位 s = i.bit_length() print ...

  7. 【Python学习之四】集合类型

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.字符串:字符串实际上就是字符的数组1.切片是指 ...

  8. Python学习日记(一):拜见小主——Python

    近日学习Python,特将学习过程及一点心得记录于此. 由于之前做过一个Java爬虫的项目,虽然很长时间没有碰过爬虫,但是小郭同学有一颗不死的爬虫心,哈哈.最近在互联网上找一些电影的时候,有很多电影只 ...

  9. python学习-day14:集合,函数,格式化

    一.集合 定义:由不同元素组成的集合.集合是一组无序排列的可hash值, 可以作为字典的key.元素必须是不可变类型:只能存放数字,字符串,字典 特性:集合的目的是将不同的值放在一起,不同的集合之间可 ...

  10. Python学习日记

    江林楠学习了一下午后给大家呈现的20分钟速成Python—— 一些基本的语法:1.python无变量声明 直接a = []即可.2.python为对齐语言,用制表符表示语句块的嵌套.3.python语 ...

随机推荐

  1. 多个Fragment的分开管理方案

    当项目里有多个Fragment的时候  我们希望让Fragment有个分类 并且展示的时候不会混淆在一起 例如:项目中导航栏有三个按钮   每个按钮对应一种分类的布局,每个分类的布局中有多个Fragm ...

  2. 社群公会GangSDK:程序员入行AI领域需要哪些技能?

    作为一名Android开发工程师,身边总有些同行很焦虑,看着人工智能越来越火,总是担心Android要不行了,所以,我们需要转行么?Android还能走多久?其实,无论是对于Android还是iOS开 ...

  3. 从MVC到Ajax再到前后端分离的思考

    前言 一位小妹去面试前端,前端leader问了"什么是ajax?",答:"接收后台的数据,然后然后自己填充和渲染样式":一位小哥去面试后台,技术经理问了&quo ...

  4. C语言之猜数游戏

    #include<stdio.h>#include<stdlib.h>#include<time.h>int main(){ srand(time(0)); int ...

  5. Service使用详解

    Service是Android系统中的四大组件之一,主要有两个应用场景:后台运行和跨进程访问.Service可以在后台执行长时间运行操作而不提供用户界面,除非系统必须回收内存资源,否则系统不会停止或销 ...

  6. 【ASP.NET Core】运行原理之启动WebHost

    ASP.NET Core运行原理之启动WebHost 本节将分析WebHost.CreateDefaultBuilder(args).UseStartup<Startup>().Build ...

  7. JavaScript正则表达式(Regular Expression):RegExp对象

    第一部分:新建正则表达式 JavaScript中正则表达式是参照Perl 5(一门历史很悠久的语言,现在tiobe编程语言排行依然在10名左右)建立的. 新建正则表达式的方法有两种: 1.使用字面量( ...

  8. 前端自动化测试漫长路之——Selenium初探

    引言 最近想解决前端开发或测试中的两个问题:一是界面UI的布局适配,能否在测试的过程中,通过命令操作真机打开相应页面然后截屏,通过对图片识别分类,发现有问题的图片,然后及时修复:二是页面性能分析,很多 ...

  9. HDU 1754 线段树 单点跟新 HDU 1166 敌兵布阵 线段树 区间求和

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  10. 关于PHP新手学习的一些指导与建议,新手快到我碗里来!

    新手小白想要系统性学好PHP开发,首先需要了解需要学些什么,然后给自己定下来一个学习路线,然后就朝着这个路线奋斗吧! 关于学习路线:(1) 熟悉HTML/CSS/JS等网页基本元素,完成阶段可自行制作 ...