元组

Python列表、元组和字典

匿名 (未验证) 提交于 2019-12-02 22:11:45
1、列表 A、列表的声明 列表可以储存不同类型的数据,创建很简单只需要用逗号分割不同的数据,并使用方括号括起来 list_example = ['张三', '李四', '王二', '麻子'] B、列表的访问 列表也有索引值,索引从0开始 print(list_example[0]) print(list_example[1]) print(list_example[2]) print(list_example[3]) C、列表的遍历 for循环遍历 for i in list_example: print(i) while循环遍历 while i < list_example.__len__(): print(list_example[i]) i += 1 D、常见操作 1、增加元素 通过append方法增加 append方法增加的元素位于列表末尾 list_example.append("三木成森") print(list_example) 运行结果: ['张三', '李四', '王二', '麻子', '三木成森'] 通过extend方法增加 extend方法可以将一个列表中的元素全部添加到另一个列表中 a = [1,2] list_example.extend(a) print(list_example) 运行结果: ['张三', '李四', '王二', '麻子', '三木成森

【译】使用 LINQ 合并 IEnumerable 序列

匿名 (未验证) 提交于 2019-12-02 22:06:11
Zip 方法允许把序列中的元素通过交织将 IEnumerable 序列连接在一起。 Zip 是一种基于 IEnumerable 的扩展方法。 例如,将具有年龄的名称集合压缩在一起: var names = new[] { "John", "Sarah", "Amrit" }; var ages = new[] { 22, 58, 36 }; var namesAndAges = names.Zip(ages, (name, age) => name + " " + age); 将会生成包含三个元素的 IEnumerable <string>: image.png 如果一个序列比另一个序列短,当到达较短序列的末尾时,“压缩”将会停止。因此,如果添加了一个额外的名称“Bob”: var names = new [] {"John", "Sarah", "Amrit", "Bob"}; 结果会和之前一样,“Bob”不会被使用,因为并没有与之匹配的年龄。 Lambdas 也可用于创建对象;下面的示例演示如何创建一个携带两个元素组成元组的 IEnumerable 对象。 两个元素的元组的枚举: var names = new[] { "John", "Sarah", "Amrit" }; var ages = new[] { 22, 58, 36 }; var namesAndAges =

mysql 记录(record)

匿名 (未验证) 提交于 2019-12-02 22:06:11
以下内容来源于《mysql内核:Innodb存储引擎 卷1》 简单介绍物理记录和大记录。仅为理解mysql 索引基础 存储结构这一章节而写。 mysql的默认存储引擎为Innodb。Innodb在磁盘上管理的最小单位为page(页),每个页中又以行记录方式储存。 行(row)和记录(record)是等价的,记录就是行,行就是记录。在关系型数据理论中,又把记录叫做元组(tuple)。行和元组之间也是等价的,在书中,把行作为物理记录,元组作为逻辑记录,众所周知,计算机以二进制的方式储存数据,那么行为二进制数据,而元组则为逻辑上的数据。 物理记录共有两部分: 1. extra info:又分为col list 和 record header。 2. 实际储存行。 col list:倒叙存储列地址,是否为null,是否包含外部存储属性(extern) record header:记录头 n_owned:在page目录槽中采用稀疏法,不是一个记录对应一个槽,而是一个槽对应一条记录,而这个记录的n_owned属性表示该记录所拥有的记录数量。 head no: 表示数据在堆中的序列号,记录之间通过next record关联。由此可见record之间是一个单链表结构。 record之间在物理上是按照插入时间排序,并不是按照主键值连续,这样可以减少增删的耗费,但在逻辑上按主键值连续。 head no

pymysql操作汇总

匿名 (未验证) 提交于 2019-12-02 22:02:20
## Python 中操作 MySQL 步骤 引入模块 在py文件中引入pymysql模块 from pymysql import * Connection 对象 用于建立与数据库的连接 创建对象:调用connect()方法 conn=connect(参数列表) 参数host:连接的mysql主机,如果本机是'localhost' 参数port:连接的mysql主机的端口,默认是3306 参数database:数据库的名称 参数user:连接的用户名 参数password:连接的密码 参数charset:通信采用的编码方式,推荐使用utf8 对象的方法 close()关闭连接 commit()提交 cursor()返回Cursor对象,用于执行sql语句并获得结果 Cursor对象 用于执行sql语句,使用频度最高的语句为select、insert、update、delete 获取Cursor对象:调用Connection对象的cursor()方法 cs1=conn.cursor() 对象的方法 close()关闭 execute(operation [, parameters ])执行语句,返回受影响的行数,主要用于执行insert、update、delete语句,也可以执行create、alter、drop等语句 fetchone()执行查询语句时,获取查询结果集的第一个行数据

python(time/random模块)

一个人想着一个人 提交于 2019-12-02 19:48:17
一、Time模块 1.时间戳 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数 最早出现的UNIX操作系统考虑到计算机产生的年代和应用的时限综合取了1970年1月1日作为UNIX TIME的纪元时间(开始时间) 2.time.time() 返回当前时间的时间戳 import time print time.time() -->1572350849.07 3.time.localtime() 当参数为默认值时,返回本地当前时间的时间元组 当输入参数秒后,返回的是1970年1月1日早上8点后+参数秒数后的时间 import time #不带参数 print time.localtime() -->time.struct_time(tm_year=2019, tm_mon=10, tm_mday=29, tm_hour=20, tm_min=12, tm_sec=47, tm_wday=1, tm_yday=302, tm_isdst=0) #带参数 print time.localtime(30) -->time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=30, tm_wday=3, tm_yday

python基础

萝らか妹 提交于 2019-12-02 19:39:22
1、python的特点 2、python常见函数 print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False) objects -- 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。 sep -- 用来间隔多个对象,默认值是一个空格。 end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。 file -- 要写入的文件对象。 flush -- 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。>>> print("www","runoob","com",sep=".") # 设置间隔符 www.runoob.com 3、python变量 Python 定义了一些标准类型,用于存储各种类型的数据。 Python有五个标准的数据类型: Numbers(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典) 4、python数据结构 基本数据类型包括:数值(整型、浮点型、复数等) 字符串 布尔(bool) 和 none 复合数据类型包括:列表 元组 字典 和集合根据数据是否可变,数据类型又可以分为:可变类型和不可变类型,可变类型包括:列表、集合、字典,上述其他的都属于不可变类型。

python中的时间模块

夙愿已清 提交于 2019-12-02 19:26:29
操作时间的模块是time;datetime 表示时间的方式有两种1.是格式化好的时间例如(2019-10-21),2.是时间戳(1571587200),规律是每一秒钟+1,是从计算机诞生的那一秒开始计算 时间戳和格式化好的时间互相转换需要经过“时间元组” 时间戳转格式化的时间 def timestamp_to_time(timestamp=None,format='%Y-%m-%d %H:%M:%S'):#传入一个时间戳 '''默认生成当前格式化时间(不传的情况下)''' if timestamp: time_tuple = time.localtime(timestamp)#以当前时区的时间转换成时间元组 # time_tuple = time.gmtime(timestamp)#以标准时区的时间转换成时间元组 result = time.strftime(format,time_tuple)#传入时间元组并生成格式化的时间 return result else: result = time.strftime(format)#默认是当前的格式化时间 return result print('生成的格式化时间为:%s'%(timestamp_to_time()))#调用转换函数,生成格式化的时间 格式化时间转时间戳 def time_to_timestamp(string=None

urls模块- include函数的用法

扶醉桌前 提交于 2019-12-02 18:44:10
urls模块化: 如果项目变得越来越大。那么url会变得越来越多。如果都放在主 urls.py 文件中,那么将不太好管理。因此我们可以将每个app自己的urls放到自己的app中进行管理。一般我们会在app中新建一个urls.py文件用来存储所有和这个app相关的子url。 需要注意的地方: 应该使用 include 函数包含子 urls.py ,并且这个 urls.py 的路径是相对于项目的路径。示例代码如下: python urlpatterns = [ path('admin/', admin.site.urls), path('book',include('book.urls')) ] 在 app 的 urls.py 中,所有的url匹配也要放在一个叫做 urlpatterns 的变量中,否则找不到。 url 是会根据主 urls.py 和app中的 urls.py 进行拼接的,因此注意不要多加斜杠。 include函数的用法: include(module,namespace=None): module:子url的模块字符串。 namespace:实例命名空间。这个地方需要注意一点。如果指定实例命名空间,那么前提必须要先指定应用命名空间。也就是在子 urls.py 中添加 app_name 变量。 include((pattern_list, app_namespace)

Python中*和**

安稳与你 提交于 2019-12-02 17:14:33
数学运算中, *为乘,**为次方 当要使函数 接收元组或字典形式的参数 的时候,有一种特殊的方法,它 分别使用*和**前缀 。这种方法在函数需要 获取可变数量的参数 的时候特别有用。 [注意] [1] 由于在args变量前有 *前缀 ,所有多余的函数参数都会 作为一个元组存储在args中 。如果使用的是 **前缀 ,多余的参数则会被认为是 一个字典的健/值对 。 [2] 对于def func(*args):,*args表示把传进来的位置参数存储在tuple(元组)args里面。例如,调用 func(1, 2, 3) , args就表示(1, 2, 3)这个元组 。 [3] 对于def func(**args):,**args表示把参数作为字典的健-值对存储在dict(字典)args里面。例如,调用 func(a='I', b='am', c='wcdj') , args就表示{'a':'I', 'b':'am', 'c':'wcdj'}这个字典 。 [4] 注意普通参数与*和**参数公用的情况,一般将*和**参数放在参数列表最后。 [元组的情形] [python] view plain copy #! /usr/bin/python # Filename: tuple_function.py # 2010-7-19 wcdj def powersum(power, *args):