元组

python元组、序列、字典、集合

浪子不回头ぞ 提交于 2019-12-10 02:17:18
python 官方文档-入门教程–20191209 5 数据结构 5.3 元组和序列 列表和字符串有很多的共同特性,例如索引和切片,是序列数据类型 元组也是 元组和列表看起来很像,但它们通常是在不同的场景被使用,有着不同的用途, 元组是不可变的,其序列通常包含不同种类的元素,并且通过解包或者索引来访问, 列表是可变的,并且列表中的元素一般是同种类型的,并且通过迭代访问。 一个特殊的问题是构造包含0个或1个元素的元组:为了适应这种情况,语法有一些额外的改变。空元组可以直接被一对空圆括号创建,含有一个元素的元组可以通过在这个元素后添加一个逗号来构建(圆括号里只有一个值的话不够明确)。丑陋,但是有效。 # 元组 t = ( 12345 , 54321 , 'hello' ) print ( t ) u = ( t , ( 1 , 2 , 3 ) ) print ( u ) x , y , z = t print ( x ) print ( y ) print ( z ) 运行结果: ( 12345 , 54321 , 'hello' ) ( ( 12345 , 54321 , 'hello' ) , ( 1 , 2 , 3 ) ) 12345 54321 hello 语句 t = 12345, 54321, ‘hello!’ 是 元组打包 个例子:值 12345, 54321 和

Python开发第一篇 基础篇(上)

青春壹個敷衍的年華 提交于 2019-12-10 01:45:51
一.python版本间的差异:     1.1:2.x与3.x版本对比 version 2.x 3.x print print " "或者print()打印都可以正常输出 只能print()这种形式打印,否则会出现 SyntaxError input raw_inut input:输出原生的数据类型,输入什么类型的值,就输出什么类型 raw_input:全部以字符串形式输出 3.x取消了raw_input方法,只能使用input() 方式提示输入字符串, 该方法和2.x版本的raw_input() 如果想要实现与2.x input()输出原生数据类型的值, 可以使用eval(input()) class 2.x支持新式类,和经典类,使用新式类时,类继承顺序会影响最终继承的结果 必须使用新式类,解决了类间继承顺序问题 / 例如:1/2,2.x输出的值为0 例如:1/2 3.x输出的值为0.5          1.2:python数据类型       int  有符号整形,如:1,11,111,-1,-111 ... ,2.x范围在-2**31~2**31-1之间,取决于操作系统,不会小于这个范围       float  浮点型,如:1.11.1.111,-1.111 ...       str  字符串,如:'hello' , 'python' , '1' , 'string'

【Python CheckiO 题解】Right to Left

北城余情 提交于 2019-12-10 01:35:44
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,传送门:https://checkio.org/,本博客主要记录自己在闯关时的做题思路和实现代码,同时也学习学习其他大神写的代码。 题目描述 【Right to Left】 :给定一个字符串序列,以元组的形式输入,将其中的 right 关键字替换成 left ,要求输出为字符串,原来元组之间的元素用逗号连接。 【链接】 :https://py.checkio.org/en/mission/right-to-left/ 【输入】 :元组 【输出】 :字符串 【前提】 :0 < len(phrases) < 42 【范例】 : left_join ( ( "left" , "right" , "left" , "stop" ) ) == "left,left,left,stop" left_join ( ( "bright aright" , "ok" ) ) == "bleft aleft,ok" left_join ( ( "brightness wright" , ) ) == "bleftness wleft" left_join ( ( "enough" , "jokes" ) ) == "enough,jokes" 解题思路

算法 排序

痞子三分冷 提交于 2019-12-09 19:44:43
算法 排序 一、概述   排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。本文主要内容是介绍这八种排序算法。 二、冒泡排序:O( n^2) 三、优先队列:O( n^2):选择排序、插入排序;O(nlogn):堆排序 1、基础知识 一、位置列表   1、位置列表的抽象数据类型,可以定位到序列中任何元素的方法,并且能够执行任何位置的插入和删除操作的数据结构。位置的表示可以是数字索引(基于数组的序列)或者节点的引用(链表)!   2、面对对象需要提供强壮的数据结构和更灵活地设计数据结构,使得封装的ADT有良好的抽象!将位置抽象为一个非数字的位置的概念,即使是使用基于数组的序列!抽象的ADT(封装双向链表)实现中的位置抽象,基于数组的序列和链表的任意位置的插入和删除操作时间复杂度都是 O(1) !L.first( ).element( ):将位置作为返回值,然后在获取位置的元素。   3、 双向链表 实现位置列表类: PositionalList( )    3.1、 确认位置 :在内部,一个位置为链表的相关节点维护这引用信息,并且引用这包含指定节点的列表实例。检测到

pyhon_列表、元组要点总结

隐身守侯 提交于 2019-12-09 15:40:26
1.什么是列表   列表是一个可变的数据类型   列表由[]来表示,每一项元素使用逗号隔开,列表什么都能装,是能装对象的对象。   列表可以装大量的数据。 2.列表的索引和切片   列表和字符串一样,也有索引和切片,只不过切出来的内容是列表   索引的下标是从0开始的   [起始位置:结束位置:步长] 3.列表的增删改查*   1、增加     append() 增加     insert(index,元素) 在index位置添加元素     extend() 迭代添加   2、删除     pop(index) 按照位置删除元素     remove(元素)直接删除元素     del 切片。     clear() 清空列表   3、修改     索引修改     切片修改   4、查询     for el in list:       el   5、常用操作     1.sort() 排序  sort(reverse = True) 排序翻转(降序)     2.reverse() 翻转     3.len() 求长度 4.列表的嵌套   降维。一层一层看。 5.元组   只读列表,只能看,啥也不能干。   使用()表示元组   如果元组中只有一个元素(元素,)   空元组:tuple()   元组是一个可迭代对象,可以使用for循环。 6.range   range(n)

secret sharing

纵然是瞬间 提交于 2019-12-09 11:15:20
上一篇文章介绍了混淆电路(Garbled Circuit),参与双方通过传输加密电路实现安全计算。理论上各种计算都可以用这种方法实现。对于各种纯粹由位运算(就是AND、OR、XOR这些)组成的算法(如比较操作或AES加密),GC效率是比较高的。但有一个问题是,即便一些常见的算术操作(如乘法、乘方等),电路也非常复杂,这意味着很多常见算法GC应付起来都很吃力。比如下面是两位整数的乘法电路,我们平时用的都是32位甚至64位乘法,还包括浮点运算等,直接用GC解决,效率是不敢恭维的。而现实生活中很多常用的算法,如目前比较火的机器学习深度学习算法包含了大量的浮点数/定点数乘法、除法、指数运算等等,纯靠GC是不能指望的。而本文介绍的密钥分享(secret sharing)则正好对算术操作比较拿手。 密钥分享的基本思路是将每个数字 拆散成多个数 ,并将这些数分发到多个参与方 那里。然后每个参与方拿到的都是原始数据的一部分,一个或少数几个参与方无法还原出原始数据,只有大家把各自的数据凑在一起时才能还原真实数据。计算时,各参与方直接用它自己本地的数据进行计算,并且在适当的时候交换一些数据(交换的数据本身看起来也是随机的,不包含关于原始数据的信息),计算结束后的结果仍以secret sharing的方式分散在各参与方那里,并在最终需要得到结果的时候将某些数据合起来。这样的话

Python基础杂记

随声附和 提交于 2019-12-08 10:52:22
1、空类型 空类型判断:Python中关于空类型的判断使用的内建函数any() 在Python中,None、空列表[]、空字典{}、空元组()、0等一系列代表空和无的对象会被转换成False。除此之外的其它对象都会被转化成True。 python变量初始化为空值的方式分别是: 数值 digital_value = 0 字符串 str_value = "" 列表 list_value = [] 字典 ditc_value = {} 元组 tuple_value = () 2、字典 判断某个键是否存在于字典中,有如下方式: 1)dict.get(key,None) #没有键的话返回None,可通过这种方式判断 2)if key in dict: 创建字典的方式 #创建一个空字典 empty_dict = dict() print(empty_dict) #用**kwargs可变参数传入关键字创建字典 a = dict(one=1,two=2,three=3) print(a) #传入可迭代对象 b = dict(zip(['one','two','three'],[1,2,3])) print(list(zip(['one','two','three'],[1,2,3]))) print(b) #传入可迭代对象 c = dict([('one', 1), ('two', 2), (

Python中的zip函数

纵饮孤独 提交于 2019-12-08 00:38:27
介绍 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。 ps. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。 例子 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) # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式 [(1, 2, 3), (4, 5, 6)] 来源: https://www.cnblogs.com/mrdoghead/p/12004133.html

关系型数据库与数据库管理系统

ぃ、小莉子 提交于 2019-12-07 22:39:35
主要是想记录下自己的读书笔记,忘大家理解。数据库是应对信息资源(及大量数据)的管理需求而产生的。数据库管理技术先后经历了三个阶段:人工管理、文件系统、数据库系统。在数据库模型主要有层次模型、网状模型和关系型,使用普及的是关系型----关系型数据库的理论基础。 关系型数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和处理方法来处理数据库中的数据,现实世界中的各种实体之间的各种联系都可以使用关系型数据库。 关系模型以二维表来描述数据。在关系模型中,每个表都有多个字段列和记录行,每个字段列有固定的类型属性(如数字、字符等类型)。关系型数据结构简单,清晰,具有很高的数据独立性。 在关系型数据库中,关系可以看到由行和列交叉的二维表,表中一行可以称为一个元祖,可以用来标识实体集合中的一个实体。表的列称为属性,每一列都有一个属性名,表中的属性名不能相同。列的取值范围称为域,同列都有相同的域(取值范围)。不同的列也可以有相同的域。表中任意两行(元组)不能相同。唯一标识表中不同行属性和属性组称为主键和复合主键。 关系型数据库与传统的二维表数据文件具有类似之处,但是他们也有区别,严格的说,关系是一种规范化的二维表,它的性质如下: 1.属性值具有原子性,不可分解。 2.没有重复的元组及没有重复的行。 3.理论上没有行序,但有时使用可以有行序。 关系型数据库中,关键码(键

Python学习一基础数据类型及赋值操作

核能气质少年 提交于 2019-12-07 21:05:53
一、变量赋值 单个变理赋值 参数名称 = 变量值如下 #!/usr/bin/python # -*- coding: UTF-8 -*- counter = 100 # 赋值整型变量 miles = 1000.0 # 浮点型 name = "John" # 字符串 print counter print miles print name 二、多外变量赋值 1.给多个变量赋同一个值 参数名 = 参数名 = 参数名。。。=参数值如下 #!/usr/bin/python # -*- coding: UTF-8 -*- a = b = c = 1 print a print b print c 2.给多个变量赋不同的值 参数名,参数名,参数名 = 参数值,参数值,参数值 #!/usr/bin/python # -*- coding: UTF-8 -*- a , b, c = 1,2,3 print a print b print c 三、标准数据类型 1、数字类型 Python支持四种不同的数字类型: int(有符号整型) long(长整型[也可以代表八进制和十六进制]) float(浮点型) complex(复数) 2、字符串 字符串或串(String)是由数字、字母、下划线组成的一串字串,一些简单的操作如下 #!/usr/bin/python # -*- coding: UTF-8 -