Python学习日记:day6-----集合

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)

时间: 2024-11-03 23:51:18

Python学习日记:day6-----集合的相关文章

Python学习记录day6

Python学习记录day6 学习 python Python学习记录day6 1.反射 2.常用模块 2.1 sys 2.2 os 2.3 hashlib 2.3 re 1.反射 反射:利用字符串的形式去对象(默认)中操作(寻找)成员 cat commons.py #!/usr/bin/env python#_*_coding:utf-8_*_''' * Created on 2016/12/3 21:54. * @author: Chinge_Yang.''' def login(): pr

【Python学习笔记】集合

概述 集合的一般操作 内建函数进行标准操作集合 数学运算符进行标准操作集合 集合的应用 概述 python的集合(set)是无序不重复元素集,是一种容器.集合(set)中的元素必须是不可变对象,即可用被哈希,这和字典的键是一样的,所以列表.字典等可变对象不可作为set的元素.集合不提供索引或切片操作,即对象不存在相关的键值.python中的集合分为两种:set是可变的集合,frozenset是不可变的集合. 集合的创建使用关键字set或frozenset, 参数可以是列表.字符串或元组等不可变对

【Python学习之四】集合类型

环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.字符串:字符串实际上就是字符的数组1.切片是指对操作的对象截取其中一部分的操作.字符串.列表.元组都支持切片操作.(1)python中从左侧开始,下标 0 开始:从右侧,下标从-1开始:(2)切片的语法:[起始:结束:步长],选取的区间属于左闭右开型,即从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身)

Python学习日记---集合

一.集合的构造方法:   集合名 = set() 1. set()中可以有有一个参数,参数类型必须是可迭代的,例如字符串.列表,就是能拆分成单独元素的意思 2.如果不带参数则表示构造一个空集 >>> aSet = set("abcd")    #参数为字符串 >>> aSet {'c', 'b', 'd', 'a'} >>> bSet = ['a',1.5,'set']  #参数为普通列表 >>> bSet ['a

Python学习日记(2)Python内建集合及操作

列表 列表是零个或多个Python对象的一个序列,这些对象通常称之为项: 列表示例: [] #An empty list ["test"] #A list of one string ["test","python"] #A list of two string ["test","python",10] #A list of two string and an int ["test",[

python学习日记——集合与函数

集合 集合(set)是一个无序的不重复元素序列.添加重复元素时会自动去重. 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典. 支持 in 和 not in 操作 差运算 a - b 取交集 a & b 取并集 a | b 不同时包含于a和b的元素 a ^ b 原文地址:https://www.cnblogs.com/ftxy/p/11708050.html

Python 学习日记第五篇 -- collections系列

一.计数器(counter) 计数器(counter)以字典的形式返回序列中各个字符出现的次数,值为key,次数为value #!/usr/bin/env python #-*- coding:utf-8 -*- #导入collections模块 import collections counter_test = collections.Counter("asfafjhadgkhjkgfjhgfjhaghdg") print(counter_test) #返回值 C:\Python27

Python学习笔记-Day3-set集合操作

set集合,是一个无序且不重复的元素集合.定义方式类似字典使用{}创建 目前我们学过的数据类型: 1.字符串(str),2.整型(int),3.浮点型(float),4,列表(list) 5.元组(tuple),6.字典(dict),7.集合(set),8.布尔型(bool) 1.集合创建 2.集合操作   2.1 set.add 添加元素 往set中添加一个元素只有set中不存在该元素时,才会加入该元素   2.2 set.clear 清空所有元素 从set中移除所有元素   2.3 set.

python学习日记-i/o&type

今天学习的是python的输入输出io和数据类型. python的输入为input()函数(一个内置函数和c#的readkey()类似),比如要给变量a赋值,需要用户输入赋值就可以写a=input();如果需要提示用户输入名字并且赋值给a就可以用a=input(‘请输入你的名字’),但是在用的过程中遇到一个问题,就是让用户输入一个数字,并进行处理,比如: a=input('请输入一个数字')if a>100: print(a)else: print(a+100) 结果报错 unorderable

python学习日记-hello,world!

写这篇日志的目的,只是记录一下学习Python的一些问题,收获.今天,也是新入职第一天,也记录下日常生活的点滴.看看我能坚持多久吧.   早上,起床,洗漱,急忙赶往公司,结果还是迟到了,但是老板不在,然后就是装机,装机的过程中知道了公司早上上班时间很灵活,从8点半到9点半都可以,只是影响你下班的时间,心中暗爽.但是迟到一次扣50,还是有点吓人的.然后开始一天的扯淡.下午5点半准时溜.    回来开始安装Python(本来昨晚上就在下的,可是弄了半天,发现现在Python有2.x,3.x的版本.作