python for循环

10分钟学会Python

痞子三分冷 提交于 2019-12-04 10:21:59
# 1. 语法 Python中没有强制的语句终止字符,代码块是通过缩进来指示的。缩进表示一个代码块的开始,逆缩进则表示一个代码块的结束。一般用4个空格来表示缩进。 声明以冒号(:)字符结束,并且开启一个缩进级别。 单行注释以井号字符(#)开头,多行注释则以多行字符串的形式出现。 赋值(事实上是将对象绑定到名字)通过等号(“=”)实现 双等号(“==”)用于相等判断 # 本行是注释 some_var = 3 print(some_var) print(some_var == 4) if some_var > 1: print('Python就是这么简单') 3 False Python就是这么简单    # 2. 导入库 外部库可以使用 import [libname] 关键字来导入,也可以使用 from [libname] import [funcname] 来导入所需要的函数。例如: import math math.sqrt(25) 5.0 from math import sqrt sqrt(25) 5.0    # 3. 数据类型 查看数据类型: type(2) int type('two') str type(True) bool    类型转换: float(2) 2.0 int(2.9) 2 str(2.9) '2.9'    # 4. 数学运算 10 + 4 14

python第十六天课

寵の児 提交于 2019-12-04 10:18:26
迭代器 1,可迭代对象 内部含有__iter__方法的对象是可迭代对象 遵循可迭代协议 dir() 检查对象含有什么方法 dir()会返回一个列表,这个列表中含有该对象的以字符串的形式所有方法名。 这样我们就可以判断python中的一个对象是不是可迭代对象了 print(dir("abc")) 判断对象是否是可迭代对象的方法 方法一: print('__iter__' in dir([1, 2, 3])) 通过成员运算符 ,返回bool 值 方法二: fromcollections .abc import Iterable print(isinstance('123',Iterable)) isinstance 判断一个对象是什么类型,返回bool 迭代器 内部含有 __iter__ 且 __next__方法的就是迭代器。 可迭代对象通过 .__iter__()可以转换成迭代器,满足迭代器协议。 l= [1, 2, 3] l_obj= l.__iter__() 判断迭代器的方法: 第一种: print('__next__'in dir(l_obj)) 第二种: fromcollections.abcimport Iterator print(isinstance('123',Iterator)) 迭代器的取值方法: 方法一: print(l_obj.__next__())

python语法之迭代器

与世无争的帅哥 提交于 2019-12-04 09:05:53
可迭代对象 :可以重复取值,并且每一次的取值都是在上一次的结果之上而来的。凡是内部有_iter_()方法的都是可迭代对象。 迭代器对象 :通过序列类型._iter_(),得到返回值就是迭代器对象。 迭代取值方式: print(迭代器对象._next_()) for循环内部原理: for item in 可迭代对象: print item #重复迭代,每一次迭代的结果都是基于上一次的结果而来的 #可迭代对象:str, list, tuple, set, dict, f文件 # str = 'hello world' # list = [1,2,3] # tuple = (4,5,6) # dict = {'name':'nick','age':18} # set = {7,8,9} # f = open('a.txt','r',encoding='utf-8') #str 示范 # str_iter = str.__iter__() #通过str._iter_()获取迭代器对象str_iter # print(str_iter.__next__()) #通过迭代器对象str_iter._next_()获取值 # print(str_iter.__next__()) # print(str_iter.__next__()) #因为上述做法都是重复,可写成循环 #循环版本 #str

Python 和 JS 有什么相似?

不打扰是莪最后的温柔 提交于 2019-12-04 08:57:16
Python 是一门运用很广泛的语言,自动化脚本、爬虫,甚至在深度学习领域也都有 Python 的身影。作为一名前端开发者,也了解 ES6 中的很多特性借鉴自 Python (比如默认参数、解构赋值、Decorator等),同时本文会对 Python 的一些用法与 JS 进行类比。不管是提升自己的知识广度,还是更好地迎接 AI 时代,Python 都是一门值得学习的语言。 数据类型 在 Python 中,最常用的能够直接处理的数据类型有以下几种: 数字[整数(int)、浮点型(float)、长整型(long)、复数(complex)] 字符串(str) 布尔值(bool) 空值(None) 除此之外,Python 还提供了列表[list]、字典[dict] 等多种数据类型,这在下文中会介绍。 类型转换与类型判断 与 JS 十分类似,python 也能实现不同数据类型间的强制与隐式转换,例子如下: 强制类型转换: int('3')# 3 str(3.14)# '3.14' float('3.14')# 3.14 # 区别于 JS 只有 Number 一种类型,Python 中数字中的不同类型也能相互强制转换 float(3)# 3.0 bool(3)# True bool(0)# False 隐式类型转换: 1+1.0# 2.0 1+False# 1 1.0+True# 2.0 #

Python实现八大排序(基数排序、归并排序、堆排序、简单选择排序、直接插入排序、希尔排序、快速排序、冒泡排序)

蓝咒 提交于 2019-12-04 08:05:07
目录 八大排序 基数排序 归并排序 堆排序 简单选择排序 直接插入排序 希尔排序 快速排序 冒泡排序 时间测试 八大排序 大概了解了一下八大排序,发现排序方法的难易程度相差很多,相应的,他们计算同一列表的时间也不尽相同。今天,我就准备了八种排序的python代码,并且准备测试一下他们计算的时间 基数排序 基数排序的基本思想是先将数字按照个位数上数字的大小进行排序,排序之后再将已经排过序的数字再按照十位数上数字的大小进行排序,依次推类 # 统计这个列表中数字最大的数字有几位 def radix_sort_nums(nums): max = nums[0] for i in nums: if max < i: max = i times = 0 while max > 0: max = int(max/10) times += 1 return times # 每个数字各个位置的数字大小,比如(123,1)则是3,(123,2)则是2 def get_num(num,n): return (int(num/(10**(n-1)))) % 10 # 主程序 def radix_sort(nums): count = 10*[None] # 定义的数组,用于存放当前位数的元素个数 bucket = len(nums)*[None] # 用于暂时存放排序结果 # 分别从个位/十位

python day 5 基本数据类型

隐身守侯 提交于 2019-12-04 06:57:56
Python Day 5 基本数据类型 一、整数类型 1.与数学中整数的概念一致。没有取值范围 2.pow(x,y) 函数 计算 x 的 y 次幂 Pow(2,pow(2,15)) 3.四种进制表示形式 (1)十进制 (2) 二进制 0b 开头 (3) 八进制 0o 开头 (4) 十六进制 0X 或 0x 开头 二、浮点类型 1.与数学中的实数概念一致 2. 浮点数间运算存在不确定的尾数,不是 bug 例如: 0.1+0.2=0.3000000004 原因:二进制与十进制不是严格的对等关系, python 用 53 位二进制表示小数,是无限接近而不是完全对等。 0.1+0.2==0.3 居然输出 false 3.round(x,d): 对 x 四舍五入, d 是小数截取尾数 其实就是去取几位小数的意思。 用 round 函数辅助浮点数的比较 4.科学计数法表示 (1) 使用 e 或 E 作为幂的符号,底为 10 (2)4.3e-3 == 0.0043 4.3e+3==4300 ==4.3e3 正指数幂 + 号可以省去也可以保留 (3)取值范围和精度基本可以算作是无限制 三、复数类型 1. 只有 python 语言提供了复数类型 2.Z == 1.23e-4+5.6e+89j 字母 j 表示虚数单位 3.Z.real 获取实部 z 代表某一数据 Z.imag 获取虚部 四

python标准数据结构类型

▼魔方 西西 提交于 2019-12-04 06:18:14
python常用的数据类型包含6种: 1、Number(数字) 2、String(字符串) 3、List(列表) 4、Tuple(元组) 5、Set(集合) 6、Dictionary(字典) 一、Number(数字) 包括int,float,bool(python3),complex(负数)几种类型 二、List(列表) list是有序的对象集合,索引值以0为开始值,-1为从末尾的开始位置。 主要操作功能如下: #通过下标访问列表的值list1 = ["chk","ldlk",1,2,"sdfkj"]for i in range(len(list1)): print("%s" % list1[i])#切片print(list1[1:-1])#追加list1.append("jjjjjjj")print("追加",list1)#指定位置插入list1.insert(1,"1111111")print("指定位置插入",list1)#移除list1.remove(2)print(list1)#输出最后一个值print(list1.pop())#连接,将list转化为字符串list1 = ["chk","ldlk","lkvl","lkdjsflk","sdfkj"]sr = " ".join(list1)print(type(sr))#查找索引下标#1

Python【day 15】基本数据类型-int str bool list

二次信任 提交于 2019-12-04 05:25:14
'''''' ''' 1 python的定义 是一门弱类型的解释性的高级编程语言 这里的高级是相对低级(例如:汇编语言等) 高级编程语言和低级编程语言的区别 1、前者更接近于人的理解--字母组成的语法 2、后者更接近于计算器的理解--字节码、二进制 2 python的特点 人生苦短,我用python 简洁 3 为什么学习python 爱好,人工智能,机器学习,大数据 4 python第一个程序 print('hello world') 方式1:在cmd中输入python后,在交互命令行,输入上述语句,enter 方式2:在本地d盘新建一个hello.py的文件,将上述语句复制到.py文件中,保存后 在cmd中,进入到d盘, 执行命令 python hello.py 方式3:将上述语句写入pycharm后,run 5 变量的概念 变量是程序运行过程中产生的中间值--temp(暂存属性,开辟一个内存空间,用于保存值) 1、内存空间的名字就是变量的名字 2、内存空间保存的值就是变量的值 比如: a=10 变量名字就是a 变量的值是10 6 变量的命名规则: 1、组成:数字、字母、下划线组成 2、开头:不能是数字开头 3、关键字:不能是关键字,比如:list 4、长度:不要太长 5、中文:不要是中文 6、有意义:要有意思(一看名字,就知道变量大概表示的意思) 7、大小写:严格区分大小写 8

python 生成list的所有的子集 (不使用递归且不引入标准库)

故事扮演 提交于 2019-12-04 04:29:43
不使用递归且不引入标准库,单纯用两个for循环即可得出一个list的所有子集 L = [1, 2, 3, 4] List = [[]] for i in range(len(L)): # 定长 for j in range(len(List)): # 变长 sub_List = List[j] + [L[i]] if sub_List not in L: List.append(sub_List) print('List =', List) 主要思想: 变长的 List 中的所有元素将会被不断地重复遍历,直到遍历完定长的 L 当然,不进行条件判断也行: L = [1, 2, 3, 1] List = [[]] for i in range(len(L)): # 定长 for j in range(len(List)): # 变长 List.append(List[j] + [L[i]]) print('List =', List) 最后,如果考虑到程序的效率问题,那么建议引入 python 标准库中的 itertools,然后调用 combinations 这个函数 这样可以更加高效地得到一个 list 的所有没有重复元素的子集 代码如下: from itertools import combinations L = [1, 2, 3, 1] result_list = sum(

python的内置函数

[亡魂溺海] 提交于 2019-12-04 03:48:53
python的内置函数: abs()、divmod()、input()、open()、staticmethod()、all()、enumerate()、int()、ord()、str()、any()、eval()、 isinstance()、pow()、sum()、basestring()、execfile()、issubclass()、print()、super()、bin()、file()、iter()、 property()、tuple()、bool()、filter()、len()、range()、type()、bytearray()、float()、list()、raw_input()、unichr()、 callable()、format()、locals()、reduce()、unicode()、chr()、frozenset()、long()、reload()、vars()、classmethod()、 getattr()、map()、repr()、xrange()、cmp()、globals()、max()、reverse()、zip()、compile()、hasattr()、memoryview()、 round()、__import__()、complex()、hash()、min()、set()、 delattr()、help()、next()