Python学习笔记第三周

一、基础概念

1、集合:

集合是一个无序的、不重复的数据租户,它的作用:

1、去重复、把一个列表变成集合,就会自动去重

2、关系测试,测试两组数据之间的交集、差集、并集等关系

  集合的方法:

    a、设置集合

>>> list_1 = [1,3,5,6,77,3,12]   #列表1
>>> list_2 = [1,3,88,4,33,77]  #列表2
>>> list_1 = set(list_1)  #通过set方法可以将列表变为集合
>>> list_1
{1, 3, 5, 6, 12, 77}  #集合list_1现在已经去重
>>> list_2 = set(list_2)
>>> list_2
{1, 33, 3, 4, 77, 88}
>>>print(list_1,type(list_1)) #打印list_1类型,发现为set类型,证明为集合

{1, 3, 5, 6, 12, 77} <class ‘set‘>

    

    b、取交集 intersection(list_1  list_2共有的元素)

>>> list_1.intersection(list_2)
{1, 3, 77}
>>> print(list_1  & list_2)
{1, 3, 77}
#上述两种方法均可以取出list_1与list_2的交集

    c、取并集union(list_1 与list_2中全部去重元素)

>>> list_1.union(list_2)
{1, 33, 3, 4, 5, 6, 12, 77, 88}
>>> list_1  | list_2
{1, 33, 3, 4, 5, 6, 12, 77, 88}
#上述两种方法取两个集合的全部去重元素

    d、取差集(差集是一个集合有,但是另一个集合没有的元素,所以差集可以得到两种不同的结果)

    

>>> list_1.difference(list_2) #list_1中存在但是list_2中不存在
{12, 5, 6}
>>> list_2.difference(list_1) ##list_2中存在但是list_1中不存在
{88, 33, 4}

>>> list_1 - list_2
{12, 5, 6}
>>> list_2 - list_1
{88, 33, 4}

    e、判断子集(判断一个集合是否在另一个集合中)

>>> list_3 = set([1,3])
>>> list_3.issubset(list_2)
True
>>> list_3.issubset(list_1)
True

    f、判断父集

>>> list_1.issuperset(list_3)
True

    g、对称差集symmetri_difference(去掉list_1与list_2的交集后存入其他剩余元素)

>>> list_1.symmetric_difference(list_2)
{33, 4, 5, 6, 88, 12}
>>> list_1 ^ list_2
{33, 4, 5, 6, 88, 12}

   

  基本操作:

    a、添加(集合操作没有插入动作,只能添加)

>>> list_1
{1, 3, 5, 6, 12, 77}
>>> list_1.add(999)    #添加单项
>>> list_1.add(‘wang‘)
>>> list_1
{1, 3, 5, 6, 999, 12, 77, ‘wang‘}
>>> list_1.update([‘alex‘,‘john‘,‘tom‘])  #添加多项
>>> list_1
{1, 3, 5, 6, 999, 12, 77, ‘john‘, ‘tom‘, ‘wang‘, ‘alex‘}

    b、删除

>>> list_1
{1, 3, 5, 6, 999, 12, 77, ‘john‘, ‘tom‘, ‘wang‘, ‘alex‘}
>>> list_1.remove(999)  #通过remove方法删除,删除后不显示删除项,删除需要明确指定删除项的内容,因为集合是无序的,没有索引的概念
>>> list_1
{1, 3, 5, 6, 12, 77, ‘john‘, ‘tom‘, ‘wang‘, ‘alex‘}
>>> list_1.remove(wang)  #针对字符串需要加引号
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name ‘wang‘ is not defined
>>> list_1.remove(‘wang‘)
>>> list_1
{1, 3, 5, 6, 12, 77, ‘john‘, ‘tom‘, ‘alex‘}
>>> list_1.pop()  #pop方法属于随机删除,删除后显示删除的内容
1
>>> list_1.pop()
3
>>> list_1.pop()
5
>>> list_1.pop()
6
>>> list_1.pop()
12
>>> list_1.pop()
77
>>> list_1.pop()
‘john‘
>>> list_1
{‘tom‘, ‘alex‘}

    c、discard删除

>>> list_1
{‘wang‘, 1, 3, 5, 6, 999, 12, 77, ‘john‘, ‘tom‘, ‘alex‘}
>>> list_1.discard(999)
>>> list_1
{‘wang‘, 1, 3, 5, 6, 12, 77, ‘john‘, ‘tom‘, ‘alex‘}
>>> list_1.discard(888)    #discard与remove的不同之处在于,discard如果是删除不存在的内容,不会报错,但是remove会报错
>>> list_1.remove(999)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 999

    d、长度len

>>> len(list_1)
10
>>> list_1
{‘wang‘, 1, 3, 5, 6, 12, 77, ‘john‘, ‘tom‘, ‘alex‘}

    e、成员判断(in 和not in)

>>> list_1
{‘wang‘, 1, 3, 5, 6, 12, 77, ‘john‘, ‘tom‘, ‘alex‘}
>>> ‘wang‘ in list_1
True
>>> 11 in list_1
False
>>> 11 not in list_1
True

    f、拷贝(和list一样,都属于浅拷贝)

时间: 2024-10-02 04:17:44

Python学习笔记第三周的相关文章

Python学习笔记总结(三)类

一.类简单介绍 1.介绍 类是Python面向对象程序设计(OOP)的主要工具,类建立使用class语句,通过class定义的对象. 类和模块的差异,类是语句,模块是文件. 类和实例 实例:代表程序领域中具体的元素. 类是生产实例的工厂,实例就像带有“数据"的记录,而类是处理这些记录的“程序”. 类是实例工程,类的属性提供行为(数据以及函数[方法]),所有从类产生的实例都继承该类的属性. 类的一个实例可以通过:实例.属性,实例.方法,获得类的属性和方法调用.类支持继承,当我们对class语句产生

Python学习笔记整理(三)Python中的动态类型简介

Python中只有一个赋值模型 一.缺少类型声明语句的情况 在Python中,类型是在运行过程中自动决定的,而不是通过代码声明.这意味着没有必要事声明变量.只要记住,这个概念实质上对变量,对象和它们之间的关系都适用.那么这个概念也容易理解并掌握. 1.变量,对象和引用 变量创建:一个变量,当代码第一次给它赋值时它就被创建了.之后的赋值将会改变已创建的变量名的值.Python在代码运行之前先检测变量名,可以当成是最初的赋值创建变量. 变量类型:变量永远不会有任何的它关联的类型信息或约束.类型的概念

Python学习笔记(三)数据类型

在内存中存储的数据可以有多种类型,在Python中,能够直接处理的数据类型有以下几种: 数字(Numbers) 字符串(String) 列表(List) 元组(Tuple) 字典(Dictionary) 集合(Set) 布尔值 一.数字(int.long.float.complex) 数字数据类型用于存储数值:他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象. 当你指定一个值时,Number对象就会被创建: 可以使用del语句删除一些对象的引用 del语句的语法: 1 del

[python]python学习笔记(三)——编译

11,如何编译编译python脚本为pyc格式 [cpp] view plaincopy #!/usr/bin/python import py_compile; import sys; file=raw_input("enter your file name"); py_compile.compile(file); sys.exit();  12,python的glob模块~ glob模块是python自带的模块,可以用它来查找符合特定规则的文件路径名和文件.查找文件只用到三个匹配符

python学习笔记(三)条件判断和循环

1.条件判断语句 Python中条件选择语句的关键字为:if .elif .else这三个.其基本形式如下: age_of_cc = 27 age = int(input("guessage:")) if age == age_of_cc: print("Yes,you got it!") elif age > age_of_cc: print("猜大啦!") else: print("猜小啦!") if语句执行的特点是

Python学习笔记(三)windows下安装theano

早就听说theano很难安装,这一次算是初步尝试,不知道会不会有其它问题. 0 参考材料 (1)win 8.1 64bit 深度学习theano 安装设置 (2)Windows下安装theano成功,但一import就报decode错是什么原因? (3)Wndows8.1 64bit环境下搭建深度学习平台之Theano安装配置 (4)deep learning学习环境Theano安装(win8+win7) 1 简单记录过程 (1)安装anaconda:Download Anaconda now!

Python学习笔记(三十五)struct

摘抄自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431955007656a66f831e208e4c189b8a9e9f3f25ba53000 Python提供了一个struct模块来解决bytes和其他二进制数据类型的转换. struct的pack函数把任意数据类型变成bytes: >>> import struct >>> struc

Python学习笔记第二十七周(Bootstrap)

目录: 一.栅格系统 二.表单 三.按钮 内容: 前言: 首先通过https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css 链接下载bootstrap.min.css保存到本地,然后执行下面操作 一.栅格系统 栅格系统是页面布局使用,是区分列布局使用的,一般bootstrap将整个页面分为12份,可以任意组合自己想要的列分割方式,在div标签中使用col-XX的方式来实现,该方式有几种方法: col-md-XX   其中md表示中

Python学习笔记(三)

set 1.set用于存储一组不重复的key值集合,但是不存储其value. 2.set有两种创建方式: 用set函数,参数是list集合,例如:s=set([1,2,3,4,5]): 用大括号包起来的集合字面量,例如: s={1,3}. 3.set常用操作 add(key)方法向set中添加元素,如果元素已经存在则不会生效 remove(key)方法可以删除元素. | 操作符可以取集合并集 & 操作符取集合交集 - 求两个集合的差 ^求两个集合的异或. # 创建set a_set = {1,