元组

python数据结构之列表和元组的详解

自古美人都是妖i 提交于 2020-03-06 11:59:09
  python数据结构之 列表和元组   序列:序列是一种数据结构,它包含的元素都进行了编号(从0开始)。典型的序列包括列表、字符串和元组。其中,列表是可变的(可以进行修改),而元组和字符串是不可变的(一旦创建了就是固定的)。序列中包含6种内建的序列,包括列表、元组、字符串、Unicode字符串、buffer对象、xrange对象。   列表的声明:   mylist = []   2.列表的操作:   (1) 序列的分片:   用法:mylist[startIndex:endIndex:step]   exam:   mylist[2:10] 检索第2个字符到第10个字符,默认步长为1.   mylist[2:10:2] 检索第2个字符到第10个字符,指定步长为2.   mylist[-2:-1:2] 正数索引是相对于首部的坐标,负数是相对于尾部的坐标。其实坐标一定要小于终止坐标,否则返回空的分片。   mylist[-12:-2:-2] 步长也可以是负数,表示从右向左提取元素。   (2) 序列的索引:   用法:mylist[index]   exam:   mylist[2] mylist[-2]   ps:正数是相对于首部的坐标,负数是相对于尾部的坐标。   (3) 序列相加:   用法: mylist1 + mylist2 <==> [1,2] + [3,4]   

浅谈Python中的深拷贝与浅拷贝

狂风中的少年 提交于 2020-03-06 11:32:22
明确概念 要理解深拷贝和浅拷贝,我们要明白Python中的一个概念:当一个 变量 = xxx 的时候,即为这个变量指向了xxx 例如:a = [11,22] 即a指向了一个地址,这个地址中存放着[11,22] 初识深拷贝、浅拷贝 浅拷贝 a = [11, 22] b = a print(id(a)) print(id(b)) a.append(33) print(a) print(b) 结果(id一致) 1157228286408 1157228286408 [11, 22, 33] [11, 22, 33] 浅拷贝,b拷贝了a指向。a指向[11,22], a=b 使得b也指向[11,22],当列表append时,a和b都指向列表,所以都增加。 深拷贝 import copy a = [11, 22] c = copy.deepcopy(a) print(id(a)) print(id(c)) a.append(33) print(a) print(c) 结果(id不一致,a增加以后,c不增加) 2312887095752 2312887096264 [11, 22, 33] [11, 22] c深拷贝a,c指向了另一个地址,该地址将a指向的列表完全拷贝了一份,此时a和c没有任何关系,当a指向的列表append后,c指向的列表不会append。 浅拷贝

基本数据类型

一世执手 提交于 2020-03-06 11:22:24
一.列表:(list) 1.定义:能装对象的对象. 2.用["",""]来表示列表; 3.索引:一排数字,反应第某个位置的字符 索引的下标从0开始 使用[] 来获取数据, 正向从0开始,反向从-1开始 4.索引的运算: 1.+ 组合 2.* 重复 3. 5.删除与更新列表 list.append() 更新列表 为列表添加新元素 del(list)[] 删除列表中的第[]个元素 内置函数 6.使用嵌套元素列表,即在列表中创建其他列表 eg: lst1= ["Google 谷歌","IE 微软","Firefox 火狐","Safari 苹果","Opera 欧朋 "] lst2 = ["Trident ","Webkit ","Gecko","Presto"] lst3 = [lst1,lst2] print(lst3) 7.切片[sta:end] 默认的方向是从左往右切 [str:end:step] #str:起始 end: 结束 step: 步长 默认是 1 ,从右往左取,-1从右往左取 8. 复制:(abc地址没有改变,只有d变了,想要复制而不影响原列表,只有采取d方法) a = [1, 2, 3] b = a c = [] c = a d = a[:] b[0]='b' print (a,b,c,d) print (id(a),id(b),id(c),id(d)) 结果: [

python学习笔记之列表(list)与元组(tuple)详解

ε祈祈猫儿з 提交于 2020-03-06 09:07:40
List(列表)是Python中使用最频繁的数据类型,而元组是另一个数据类型,类似于List(列表)。这篇文章主要给大家介绍了python学习笔记之列表(list)与元组(tuple)的相关资料,文中不仅详细介绍了两者的使用,还分享了list和tuple的相互转换的方法,需要的朋友可以参考下 前言 最近重新再看python的基础知识,感觉自己还是对于这些知识很陌生,需要用的时候还是需要翻书查阅,还是先注重基础吧——我要重新把python的教程阅读一遍,把以前自己忽略的部分学习,加强练习和记忆。 现在读到了列表(list)、元组(tuple)、集合(set)和字典(dict)四种在python内置的重要的数据结构。我只是想记录一下列表(list)和元组(tuple)比较容易搞混的地方和阐述一遍列表(list)和元组(tuple)比较常用的一些方法。 列表(list)与元组(tuple) 首先,对于列表(list)和元组(tuple)的概念有一个清楚的了解,清楚列表(list)是一个可变的序列,而元组(tuple)是一个不可变的序列。两种数据结构都是python内置的数据类型,使用非常方便。 对于这两种常用的数据类型是怎么样定义的吧。定义一个对象时使用列表(list)和元组(tuple)方法的必要工作。 >> > a_list = [ ] >> > a_list [ ] >> > a

Python学习笔记

拈花ヽ惹草 提交于 2020-03-06 05:51:12
Python 学习笔记 在windows操作系统中,推出python命令提示行的快捷键是先按ctrl+z,然后再按Enter。 Python 是大小写敏感的。要确保每一行的开始字符前没有空格和制表符。 # 为注释符号。 如果想要获取某个python函数或者语句的快速帮助信息,可以使用内建的help功能,特别是在使用带提示符的命令行的时候。这个时候可以按q退出帮助。 一、基本概念 1 、数 Python 中有四种类型的数:整数,长整数,浮点数和复数。 2 、字符串 如何在python中使用字符串? (1)使用单引号 原样保留 (2)使用双引号 使用与单引号完全相同。 (3)使用三引号(’’’或者”””) 利用三引号,可以指示一个多行的字符串,可以在三引号中自由的使用单引号和双引号。 (4)转义符 如果想在一个字符串中包含单引号,可以采用反斜杠\,当然,这种情况也可以使用双引号来表示字符串,这样的话python也能识别中间的单引号了。 另外,如果需要在双引号中使用双引号本身的时候,也可以借助于转义字符。 需要注意的是,行末的单独一个反斜杠表示字符串在下一行继续,而不是重新开始一个新的行。 (5)自然字符串 如果你想要指定某些不需要如转义符那样特别处理的字符串,那么需要指定一个自然字符串,它通过在字符串前加前缀r或者R来指定。 (6)Unicode字符 在字符串前加上u或者U来实现。

python学习笔记

六眼飞鱼酱① 提交于 2020-03-06 04:28:42
目录 元组 函数参数 format 算法 元组 定义一个元素的元组. t = (1,) 逗号不能少 命名元组: from collections import namedtuple Student = namedtuple(‘Student’, ‘name age’) tom = Student(‘tom’, 20) tom.name 字符串: center/zfill/rjust/ljust 函数参数 顺序:普通参数、默认参数、可变位置参数、key-world only参数、关键字参数 def fun(x, y, z=1, *args, m, *kwargs): print(“x={0}, y={1}, z={2} m={3}”.format(x, y, z,m)) print(args) print(kwargs) format "{} {1} {xxx}".format(*agrs, **kwagrs) -> str args为位置参数;kwargs为关键字参数 "{0[0]}.{0[1]}".format(('a','com')) -> a.com from collections import namedtuple Point = namedtuple(‘Point’,‘x,y’) p = Point(4,5) “{{{0.x},{0.y}}}”.format§ ‘{4

关系代数中除法的SQL实现

余生长醉 提交于 2020-03-06 01:37:59
关系代数中除法的SQL实现 文章目录 关系代数中除法的SQL实现 引言 除法 笛卡尔积的逆 SQL实现 应用场景举例 集合谓词的缺席 实现减法 实现除法 附录 实验用SQL 引言 关系代数中的运算主要有选择、投影、连接(或者说乘法,即笛卡尔积)、除法,以及集合运算。其中,选择、投影、连接能直接用SQL表达,但除法和大部分集合运算不能。尤其是除法的缺失,使得涉及该操作的查询难以编写。本文将介绍用如何现有SQL实现除法,并分析困难产生的原因。 除法 笛卡尔积的逆 关系除法可以看作笛卡尔积的逆,即对于 R ÷ S R\div S R ÷ S ,其结果为所有满足 T × S ⊆ R T\times S\subseteq R T × S ⊆ R 的 T T T 中最大的那个,有 T = π ( R ) − π ( ( π ( R ) × S ) − R ) T=\pi(R)-\pi((\pi(R)\times S)-R) T = π ( R ) − π ( ( π ( R ) × S ) − R ) 可以将该结论表达为SQL以实现除法吗?在不支持 MINUS , EXCEPT 的数据库中不能。由于R至少有两列,用NOT EXISTS实现MINUS并不简单。 SQL实现 应用场景举例 假设如下关系, 人与技能 person skill 张大仙 LOL 殷子 笑 卫小妹 CV 成少 LOL

python【数据结构与算法】内置函数 zip() 函数(看不懂你来打我)

筅森魡賤 提交于 2020-03-05 15:22:46
文章目录 描述 语法 返回值 实例 描述 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。 zip 方法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。如需展示列表,需手动 list() 转换。 如果需要了解 Pyhton3 的应用,可以参考 Python3 zip()。 语法 zip ( [ iterable , . . . ] ) 参数说明: iterabl – 一个或多个迭代器; 返回值 返回元组列表。 实例 以下实例展示了 zip 的使用方法: >> > a = [ 1 , 2 , 3 ] >> > b = [ 4 , 5 , 6 ] >> > c = [ 4 , 5 , 6 , 7 , 8 ] >> > zipped = zip ( a , b ) # 打包为元组的列表 [ ( 1 , 4 ) , ( 2 , 5 ) , ( 3 , 6 ) ] >> > zip ( a , c ) # 元素个数与最短的列表一致 [ ( 1 , 4 ) , ( 2 , 5 ) , ( 3 , 6 ) ] >> > zip ( * zipped )

python基础-1

南笙酒味 提交于 2020-03-05 13:46:04
一、安装 1、eclipse pydev 1.直接把pydev下载下来,直接手动安装。 到pydev的主页,选择自己python版本对应的dev版本,最好选一样版本号的,不然可能出现pydev选项出不来的错误。http://sourceforge.net/projects/pydev/files/pydev/ 把下载好的pydev压缩包内的plugins和features 文件夹内的内容复制到eclipse的解压目录的对应的文件夹中即可。 2、安装外部包 1)将C:\Python34\Scripts配到环境变量 2)在cmd窗口输入:pip intall 包名 如,pip install requests 二、数据类型 1、字符串 1.1字符串的格式 age = 2 name = “kk” add = “666” print("{1},{2},{0}".format(age,name,add )) print("%d %s %s"%(age,name,add)) print(str(age)+" " + name+" " + add) 结果: kk,666,2 2 kk 666 2 kk 666 注:数字0,1,2对应的是format的下标;空格要输在字符串””里。 name = ‘kl’ name1 = “kkk” name2=’’’ kk kk kk’’’ print(name

Day2-Python基础2---列表、元组操作

柔情痞子 提交于 2020-03-05 07:29:33
一、列表 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作 定义列表 1 names = ["maqing"," peilin"," xiaoming"," lilei"," hanmeimei"] 通过下标访问列表中的元素,下标从0开始计数 >>> names[0] 'maqing' >>> names[1] 'peilin' >>> names[-1] 'hanmeimei' >>> names[-2] #还可以倒着取 'lilei' 切片:取多个元素 特点:列表取值顾头不顾尾 1 >> names = ["maqing"," peilin"," xiaoming"," lilei"," hanmeimei"] 2 >>> print(names[1:3]) #取下标1~3之间的数字,不包含3 3 [' peilin', ' xiaoming'] 4 >>> print(names[0:3]) #取下标0~3之间的数字,不包含3 5 ['maqing', ' peilin', ' xiaoming'] 6 >>> print(names[:3]) #下标起始位为0时候可以不写 7 >>> print(names[-2:]) #表示从后开始取值,最后两个数字 8 [' lilei', ' hanmeimei'] 列表追加 1