元组

深拷贝,浅拷贝

喜欢而已 提交于 2020-01-31 10:16:16
浅拷贝:引用copy.copy 深拷贝:复制copy.deepcopy !!! 列表拷贝 浅拷贝的就是列表里的东西不会拷贝,只是引用。 a = [ 11 , 22 ] b = [ 33 , 44 ] c = [ a , b ] e = c f . copy ( c ) g . copy . deepcopy ( c ) 以上e,f,g三个每个都不一样 为e指向c,id是一样的即内存一样 f浅拷贝c ,f和c的id会不一样但是c里的a和b是指向,不是真正的复制 g深拷贝c,g和c的id不一样,不仅如此,里边的a和b也不一样 !!! 元组拷贝 用copy拷贝时元组不拷贝,因为元组不能增删改查。所以遇到元组是自动指向。 如果元组里有指向不可变类型的数据时浅拷贝和深拷贝一样,都是指向 如果元组里有可变类型数据时(例如列表)浅拷贝不变,深拷贝会递归把所有的东西都拷贝 !!! 某些操作依然拷贝( 列表切片) 面试题 [a,b,c,d]变成[d,c,b,a]的话怎么做? a = [11,22] b = [33,44] c = [a,b] d = c[ : ] d的意思就是把c复制一份,但是呢id发生了改变 !!! 字典 字典是无序的key通过哈希来得到,字典里的key和value,key在字典里存着但是value不在字典里存着。例如以下 d = dict(name = "meiya",age

鑫软Python100天学习笔记(基础篇)Day-two

爷,独闯天下 提交于 2020-01-31 09:20:16
鑫软Python100天学习笔记 Day-two Python基础数据类型笔记 首先,来认识一下什么是Python的数据类型,Python的数据类型包括哪些数据类 型呢?这些数据类型又有什么用处呢? 在数据拼接中,为了将不同的信息进行整合,可以使用拼接符号。 但是,如果数据非字符串类型,则无法进行拼接。此时,我们可以使用数据转换 函数str(),将数据转换为字符串类型后,再进行拼接。 并且针对不同类型的数据,我们需要经历多次转换,最后才能转为字符串类型。 ========================================================================================================================== (1) 数字型 Python中的数字类型包含整型、浮点型和复数类型。示例代码如下: 示例代码: # 整型数据类型 0101 83 -239 0x80 299384938832 # 浮点型:3.1415 4.2E-10 -2.34E-19 # 复数类型: 3.12+1.23j -1.23-98j (2)布尔类型 布尔类型是特殊的整型,它的值只有两个,分别是True和False。如果将布尔值进 行数值运算,True会被当作整型1,False会被当作整型0。 示例代码: # 注意

json & pickle 模块

我是研究僧i 提交于 2020-01-31 02:45:51
用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps、dump、loads、load #json.loads()用于将 字典、列表、元组形式的字符串,转换成相应的字典、列表、元组#json.load('db','r')读内容,将字符串转换成字典、列表、元组形式#json.dumps()将python基本类型转换成字符串#json.dump('db','w')写内容,将字典、列表、元组转换成字符串 pickle模块提供了四个功能:dumps、dump、loads、load pickle. 来源: https://www.cnblogs.com/shiluoliming/p/6399085.html

Python数据类型-5 元组

江枫思渺然 提交于 2020-01-30 19:42:01
元组 我们知道,用方括号括起来的是列表,那么用圆括号括起来的是什么,是元组。 元组也是序列结构,但是是一种不可变序列,你可以简单的理解为内容不可变的列表。除了在内部元素不可修改的区别外,元组和列表的用法差不多。 元组与列表相同的操作: 使用方括号加下标访问元素 切片(形成新元组对象) count()/index() len()/max()/min()/tuple() 元组中不允许的操作,确切的说是元组没有的功能 修改、新增元素 删除某个元素(但可以删除整个元组) 所有会对元组内部元素发生修改动作的方法。例如,元组没有remove,append,pop等方法 看一些实例: tup1 = () # 创建空元组 tup1 = (40,) # 创建只包含一个元素的元组时,要在元素的后面跟个逗号 tup = (1, 2, 3, 4) tup[2] 3 tup[3] = "a" Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> tup[3] = "a" TypeError: 'tuple' object does not support item assignment 元组与列表类似的特殊操作 元组只保证它的一级子元素不可变,对于嵌套的元素内部,不保证不可变! tup = ('a', 'b',

Python学习笔记--组合数据类型

狂风中的少年 提交于 2020-01-30 19:18:30
组合数据类型 集合 序列 字符串类型 元组类型 列表类型 字典 集合 集合的定义 使用{}或set()函数。 如:A={“python”,“hello,world”,234}   B=set(“2020python3”) 集合的操作符 操作符 功能 A∣B 返回一个新集合,包括在集合A和B中的所有元素 A-B 返回一个新集合,包括在集合A但不在B中的元素 A&B 返回一个新集合,包括同时在集合A和B中的元素 A^B 返回一个新集合,包括集合A和B中的非相同元素 A<=B或A<B 返回True/False,判断A和B的子集关系 A>=B或A>B 返回True/False,判断A和B的包含关系 集合的操作函数 操作函数 功能 s.add(x) 将元素x添加到s中 s.discard(x) 移除s中元素x,若x不在集合s中,不报错 s.remove(x) 移除s中元素x,如果x不在集合s中,产生KeyError异常 s.clear() 移除s中所有元素 s.pop() 随即返回s的一个元素,更新s,若s为空,产生KeyError异常 s.copy()函数 返回集合s的一个副本 len(s) 返回集合s中的元素个数 x in s 判断s中元素x是否在集合s中。若在,返回Ture,否则返回False x not in s 判断s中元素x是否在集合s中。若不在,返回Ture,否则返回False

怎能只会Select——利用python实现在SQL Server数据库中的增、删、改、查

孤街醉人 提交于 2020-01-30 08:55:06
本人使用的python开发环境为Spyder,数据库使用SQL Server 2012.至于pycharm也是可以使用的,但是需要激活,比较麻烦。至于MySQL本人没有用过,但是道理是差不多的. 实现python和SQL Server的连接 首先开启TCP/IP 协议,具体方法如图所示: 然后在控制台中输入pip install pymssql 安装完成后,打开Spyder,新建.py文件,导入pymssql库 import pymssql 之后连接SQL Server数据库 conn = pymssql . connect ( server = 'DESKTOP-LYZ' , user = 'sa' , password = '12345' , database = 'test' ) cursor = conn . cursor ( ) “server”指服务器名称,我的是“DESKTOP-LYZ” “user”对应在SQL Server 2012的”连接到服务器“面板中“身份验证”选择”SQL Server身份验证“时的登录名(sa),密码也是同样的道理,如果不知道密码可以到SQL Server中找到,此处不赘述。 “database"为要进行操作的数据库名,此处是"test”。 到此完成python和SQL Server的连接,接下来进入正题。 Select——查

【Python学习笔记】2. 高级变量类型

走远了吗. 提交于 2020-01-30 00:16:45
1 列表(List) 1.1 基本信息 列表存储一串信息; 列表用 [ ] 定义,数据之间用“,”分隔; 列表的数据项不需要具有相同的类型; 列表索引号从0开始。 1.2 列表操作 list.append(self, object) :在末尾添加新object内容; list.clear(self) :清空列表 list.copy(self) :复制 list.count(self, obejct) :object在列表中出现的次数; list.extend(self, iterable) :其他列表中完整的内容追加到当前列表末尾; list.index(self, object, start, stop) :取索引 list.insert(self, index, object) :在指定索引位置插入 list.pop(self, index) :默认删除最后一个/删除指定索引元素 list.remove(self, object) :删除指定数据 list.reverse(self) :逆序,反转 list.sort(self, key, reverse) :升序排序 list.sort(reverse=Ture) :降序排序 1.3 del关键字 del 关键字(delete)删除列表元素 del name_list[1] # del 本质上将一个变量从内存中删除

Python 内置函数

白昼怎懂夜的黑 提交于 2020-01-29 18:04:31
菜鸟教程: https://www.runoob.com/python/python-built-in-functions.html 以后学一个,写一个,忘一个 zip() 用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。 a = [1,2,3] b = [4,5,6] zipped = zip(a,b) # 打包为元组的列表 [(1, 4), (2, 5), (3, 6)] dict() dict(zip(['one', 'two', 'three'], [1, 2, 3])) # 映射函数方式来构造字典 {'three': 3, 'two': 2, 'one': 1} 来源: https://www.cnblogs.com/oklizz/p/12240773.html

Python元组

若如初见. 提交于 2020-01-29 07:29:54
文章目录 一:元组数据类型 二:用tuple()函数和list()函数来转换类型 三:引用 3.1传递引用 3.2 copy()函数和 deepcopy()函数 一:元组数据类型 列表(可变数据类型)和元组(不可变数据类型)与字符串在一个重要的方面是不同的。列表是“可变的”数据类型,它 的值可以添加、删除或改变。但是,元组和字符串是“不可变的”, 它不能被更改(添加,删除或修改)。尝试 对字符串中的一个字符重新赋值,将导致 TypeError 错误。 如果元组中只有一个值,你可以在括号内该值的后面跟上一个逗号,表明这种情况。否则,Python 将认为,你只是在一个括号内输入了一个值。逗号告诉 Python,这是一个元组 二:用tuple()函数和list()函数来转换类型 三:引用 变量包含对列表值的引用,而不是列表值本身。然而对于字符串和整数值,变量就包含了字符串或整数值。在变量必须保存可变数据类型的值时,例如列表或字典, Python 就使用引用。对于不可变的数据类型的值,例如字符串、整型或元组,Python 变量就保存值本身。 在创建apple变量时,将orange的引用给了apple,并不是将orange的变量值赋给了apple,所以apple和orange是基于一个列表,orange的变量值改变了基本列表,所以apple的列表值也发生相应的变化,类似于指针 3.1传递引用

字符串、列表和字典

点点圈 提交于 2020-01-28 20:42:34
期末笔记后期整理,如有问题,请多多指教。 有序序列:元组、列表、字符串 无序序列:字典 可变序列:列表、字典 不可变序列:元组、字符串 双向索引:元组、列表、字符串 一、字符串(文本) 如:ASCII字符、各种符号、Unicode字符 1、表现方式:单引号、双引号、三引号 不能被修改,如: word[0]='m' 2、转义字符:" ' " ' " ' \\,\n,\r 在字符串前添加r,输出原始字符串 3、字符串的输出(%s,%d,%f,%g) print("%s"%name) print("%s,%d"%(name,age)) print(i,end=" ")#输出以空格分隔 print("{0},{1}".format("小明",23)) 4、字符串的输入(以字符串形式保存) username=input("请输入用户名:") print(username) 5、没有字符类型,单个字符也作为字符串使用,通过下标访问,从0开始。 6、切片截取字符串( 不会出现下标超出异常) [起始:结束:步长]#左闭右开 如:name[1:-1] 7、内建函数 str.find("hello")#不在返回-1 index()#不在报异常 count() split(sep=None,maxsplit=-1)#默认空字符分隔,以列表形式返回 如:split('i',1) capitalize()