python列表

小作业7

独自空忆成欢 提交于 2020-02-27 20:33:14
1.下面代码会输出什么: def f(x,l=[]): for i in range(x): l.append(i*i) print l f(2) f(3,[3,2,1]) f(3) 2.列表的sort方法和sorted的区别是什么?试举例说明? 3.尝试用两个方式,分别用一行语句实现去除了中的相同项,将结果存放在l2列表中 l1 = ['b','c','d','b','c','a','a'] l2 = [] 4.尝试使用map高阶函数,实现将列表['hellO', 'WORLD', 'pyTHon', 'guiDo']中所有的字符串首字符大写,其他字符小写 5.现有一个由100以内所有偶数组成的列表,将列表中所有能被4和6整除的数去除 6. 现有以下函数,利用装饰器为此函数加上认证功能,也就是只有用户名为'python', 密码为'123'才能调用此函数,否则不允许 def my_log(name):    print('%s欢迎登陆'%(name)) 7.利用装饰器为函数加上统计执行时间的功能。   提示 time模块中的time()函数可以获取当前时间 8.了解生产者消费者模型 来源: https://www.cnblogs.com/yanzifamily/p/9663072.html

Python 数据类型

倖福魔咒の 提交于 2020-02-27 19:48:15
Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。 等号(=)用来给变量赋值。 https://www.runoob.com/python3/python3-data-type.html 讲数据类 型的开篇第一行,个人觉得需要好好琢磨和理解。我个人的理解是Python的变量就类似于 C 的 指针类型,指针本无类型,只是一个存放内存地址的空间,而Python的变量仅仅就是一个变量, 我把它看成是 name = &data 。只是具体怎样使用指针(指针指向的内存地址的内容),由实际 访问者决定;而Python的变量指向的类型,则由指向的内存标识,通过Python内部应该是标识 了这部分内存的类型,这算是面向对象和面向过程的区别吧,面向对象由对象本身提供操作方 法,面向过程则由使用者自己实现方法-扯得有点远了。 python 基本数据类型: 1. 数字类型 2. 字符串类型 3. 列表 4. 元组 5. 集合 6. 字典 其中 不可变类型(只读): 数字类型,字符串类型,元组类型 可变类型(可读写): 列表类型,集合类型,字典类型 只读意思是变量指向的位置只读,而不是变量本身只读 通过id(变量名) 可以看到变量的地址 数字类型的使用与常用操作

Python基础 三器 (装饰器&生成器&迭代器)

时间秒杀一切 提交于 2020-02-27 18:51:39
一. 装饰器 1、装饰器的作用 - 1.装饰器作用: 本质是函数(装饰其他函数)就是为其他函数添加其他功能 装饰器必须准寻得原则: 1)不能修改被装饰函数的源代码 2)不能修改被装饰函数的调用方式 2.实现装饰器知识储备: 1)函数即“变量” 2)高阶函数 3)嵌套函数 高阶函数+潜逃函数=》装饰器 2、使用高阶函数模仿装饰器功能 1)定义:把一个函数名当做实参传给另一个函数 2)返回值中包含函数名 3)下面使用高阶函数虽然可以实现装饰器的一些功能,但是违反了装饰器不能改变调用方式的原则,以前使用bar()现在将调用方式改编成了test1(bar)就是将bar的函数名当做变量传给了test1() #! /usr/bin/env python # -*- coding: utf-8 -*- import time def timer ( func ) : start_time = time . time ( ) func ( ) print '函数执行时间为' , time . time ( ) - start_time def test ( ) : print '开始执行test' time . sleep ( 3 ) print 'test执行结束' timer ( test ) ''' 开始执行test test执行结束 函数执行时间为 3.00332999229 ''' 4

第一阶段总结

妖精的绣舞 提交于 2020-02-27 15:26:48
计算机基础知识与Python简介 一,计算机基础知识 cpu: 相当于人类的大脑,运算和处理问题 内存: 临时存储数据,断电就消失了 硬盘: 永久存储数据 操作系统: 管理计算机硬件与软件资源的计算机程序,控制每个硬件之间数据交互 二,Python简介 龟叔 优美、清晰、简单 主要应用领域: 云计算 WEB开发 科学技术、人工智能 系统运维 爬虫 金融量化分析 图形GUI 游戏 Python发展史 1989年,Guido开始写Python 1991年,第一个Python解释器诞生 2004年,最流行的WEB框架Django诞生 2008年,python2和python3版本共存 python2:C,Java,C#,源码不统一,功能重复,维护难度大 python3:源码统一,维护难度降低了 python是一个编程语言 分类:编译型、解释型,强类型、弱类型 编译型:只翻译一次 代表语言:C,C++ 优点:运行速度快 缺点:开发速度慢 解释型:一句一句的翻译,逐行翻译 优点:开发速度快 缺点:运行速度慢 代表语言:Python,JavaS,PHP Python的优缺点 优点: Python的定位是优雅、明确、简单,初学者容易入门,而且可以编写非常复杂的程序。 开发效率非常高,Python有非常强大的第三方库 高级语言,无需考虑如何管理你的程序使用的内存一类的底层细节 可移植性

python 从列表删除元素

荒凉一梦 提交于 2020-02-27 15:09:56
从列表中删除元素 常用命令如下: del fruits [索引号,如0] //可删除列表任何元素,只知道删除元素的索引号 pop_fruits = fruits.pop() //删除列表最后一个元素,并把删除的值定义为变量pop_fruits的值,可用于其他用途 pop_fruits = fruits.pop(索引号,如1) //可删除列表中任何元素,只需知道元素的位置 fruits.remove(“orange”) //需知道删除元素的值 详细的例子如下: 使用del 语句 / /可删除任何位置的元素,只需知道删除元素在列表中的位置 fruits = [ "apples" , "pear" , "orange" , "cherry" ] del fruits [ 0 ] // 删除列表第一个元素 print ( fruits ) // 输出结果为 fruits = [ "pear" , "orange" , "cherry" ] 使用del语句将值从列表中删除后,就永久删除了,再也无法访问它 使用方法pop() // 可删除列表末尾元素,并让你能够接着使用它 fruits = [ "apples" , "pear" , "orange" , "cherry" ] pop_fruits = fruits . pop ( ) print ( pop_fruits ) print (

高级变量类型

*爱你&永不变心* 提交于 2020-02-27 12:31:57
列表 元组 字典 字符串 公共方法 变量高级 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 ( int ) 浮点型( float ) 布尔型( bool ) 真 True 非 0 数 —— 非零即真 假 False 0 复数型 ( complex ) 主要用于科学计算,例如:平面场问题、波动问题、电感电容等问题 非数字型 字符串 列表 元组 字典 在 Python 中,所有 非数字型变量 都支持以下特点: 都是一个 序列 sequence ,也可以理解为 容器 取值 [] 遍历 for in 计算长度 、 最大/最小值 、 比较 、 删除 链接 + 和 重复 * 切片 01. 列表 1.1 列表的定义 List (列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组 专门用于存储 一串 信息 列表用 [] 定义, 数据 之间使用 , 分隔 列表的 索引 从 0 开始 索引 就是数据在 列表 中的位置编号, 索引 又可以被称为 下标 注意:从列表中取值时,如果 超出索引范围 ,程序会报错 name_list = ["zhangsan", "lisi", "wangwu"]  1.2 列表常用操作 在 ipython3 中定义一个 列表 ,例如: name_list = [] 输入 name_list. 按下 TAB 键,

高级变量

心不动则不痛 提交于 2020-02-27 12:31:08
回顾 Python中数据类型可以分为数字型和非数字型 数字型   整型   浮点型   布尔型   复数型(complex) 非数字型   字符串   列表   元组   字典 在Python中,所有非数字型变量都支持以下特点   1.都是一个序列sequence,也可以理解为容器   2.取值[]   3.遍历 for in   4.计算长度、最大/最小、比较、删除   5.链接 + 和重复 *   6.切片 列表 列表(list)是Python中使用最频繁的数据类型,在其他语言中通常叫做数组 专门用于存储一串信息 列表用[]定义,数据之间使用,分隔 列表的索引从0开始   索引就是数据在列表中的位置编号,索引又可以被称为下标  注意:从列表中取值时,如果超出索引范围,程序会报错 列表取值 列表名[索引值]  #索引超出范围会报错 列表取索引 列表名.index(“想确定的值”)  #传递的数据不在列表中,程序会报错 修改列表的值 列表名[要修改值的索引] = “要修改的值”  #索引超出范围,程序报错 列表增加数据 列表名.append("添加的数据")  #向列表末尾追加数据 列表名.insert(索引值,“添加的数据”)  # 向指定的索引位置添加数据 列表名.extend(列表名)  #将其他列表中的完整内容追加到当前列表末尾 列表的删除 列表名.remove(

Python 笔记

风流意气都作罢 提交于 2020-02-27 12:10:46
1. 列表解析 - link 列表解析(list comprehension)提供了一种优雅的生成列表的方法,能用一行代码代替十几行代码,而且不损失任何可读性。而且,性能还快很多很多。 >> > mylist = [ i for i in range ( 10 ) ] >> > mylist [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] 2. 将字符串拆分为列表 >> > string = "hello my friend !" >> > a = string . split ( ) >> > a [ 'hello' , 'my' , 'friend' , '!' ] 3. 将列表组合成字符串 >> > a = [ 'hello' , 'my' , 'friend' ] >> > b = ' ' . join ( a ) >> > b 'hello my friend' 4. 列表切片 - link 列表切片的基本语法是: a [ start : stop : step ] 示例: In [ 13 ] : mylist = [ 'a' , 'b' , 'c' , 'd' , 'e' ] In [ 14 ] : t = mylist [ 0 : 2 ] In [ 15 ] : t Out [ 15 ] : [ 'a' , 'b' ] In [

将字符列表转换为字符串

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-27 04:27:38
如果我有一个字符列表: a = ['a','b','c','d'] 如何将其转换为单个字符串? a = 'abcd' #1楼 这可能是最快的方式: >> from array import array >> a = ['a','b','c','d'] >> array('B', map(ord,a)).tostring() 'abcd' #2楼 h = ['a','b','c','d','e','f'] g = '' for f in h: g = g + f >>> g 'abcdef' #3楼 str = '' for letter in a: str += letter print str #4楼 如果你的Python解释器是旧的(例如1.5.2,这在一些较旧的Linux发行版中很常见),你可能没有 join() 作为任何旧字符串对象的方法,你将需要使用字符串模块。 例: a = ['a', 'b', 'c', 'd'] try: b = ''.join(a) except AttributeError: import string b = string.join(a, '') 字符串 b 将是 'abcd' 。 #5楼 reduce功能也有效 import operator h=['a','b','c','d'] reduce(operator.add, h) 'abcd'

按多个属性对列表进行排序?

◇◆丶佛笑我妖孽 提交于 2020-02-27 03:43:45
我有一个清单清单: [[12, 'tall', 'blue', 1], [2, 'short', 'red', 9], [4, 'tall', 'blue', 13]] 如果我想按一个元素(例如,高/短元素)进行排序,则可以通过 s = sorted(s, key = itemgetter(1)) 。 如果我想用 又 高/短,颜色排序,我可以为每个元素做排序两次,一次,但有一个更快的方法? #1楼 我不确定这是否是最pythonic的方法...我有一个元组列表,需要按降序对整数值进行排序,然后按字母顺序对第二个进行排序。 这需要反转整数排序,而不是字母排序。 这是我的解决方案:(在一次考试中,我什至不知道您可以“嵌套”排序功能) a = [('Al', 2),('Bill', 1),('Carol', 2), ('Abel', 3), ('Zeke', 2), ('Chris', 1)] b = sorted(sorted(a, key = lambda x : x[0]), key = lambda x : x[1], reverse = True) print(b) [('Abel', 3), ('Al', 2), ('Carol', 2), ('Zeke', 2), ('Bill', 1), ('Chris', 1)] #2楼 键可以是返回元组的函数: s = sorted