IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> Python程序设计基础(四)---可迭代对象的简单处理和值操作 -> 正文阅读

[数据结构与算法]Python程序设计基础(四)---可迭代对象的简单处理和值操作

第一部分:内置range的应用

Python中,内置函数range()会经常的被应用于生成可迭代对象。在程序开发时,它的身影无处不在,控制循环,控制数值范围等。

了解一个函数对象,首先要知晓对象参数的使用。Python中range对象格式为:

range ( [start , ] end [ , step])

三种用法参数设置range( stop )、range( start , stop )、rang( start , stop , step )。step为步长,类型为整数,换种说法就是间隔数。其中,如果不加以设定,start默认值为0,而step默认值为1。

range( )内置函数有多种用法,使用得当,可提高程序运行效率。

>>> tuple(range(8 ,16,3))
(8, 11, 14)
>>> tuple(range(12,3,-2))
(12, 10, 8, 6, 4)

range根据原理性作用,常用于控制有限循环。

>>> for i in range(0, 30, 5):
...     print(i)
...
0
5
10
15
20
25

第二部分:序列、迭代对象的多样化处理

前面的内容,已经基本了解了列表、元组,字典、集合的基本知识。现在我们来对他们进行简单的对象操作。就以列表举例,它是一个序列,系列必然有一定的顺序,考虑一个函数sorted(),对对象进行排序操作,另外一个类似的函数sort(),这两者应用有区别且返回顺序都是由低到高。

>>> sation=[5,2,1,3,6,7]
>>> sorted(sation)
[1, 2, 3, 5, 6, 7]
>>> sation
[5, 2, 1, 3, 6, 7]
>>> sation.sort()
>>> sation
[1, 2, 3, 5, 6, 7]

发现区别没有?应该很直白吧,sort是对原列表直接进行排序操作,返回列表是建立在原列表的基础上的,而sorted不同,它在原列表排序基础上,产生了新列表,返回结果不影响原列表。

同样,有相同功能的排序函数,reverse()和reversed(),功能是逆排序,首尾交换。

更高级点排序,Python2.4以后,排序函数指出key的使用,也就是可实现指定参考量进行排序。不过,在这之前我们要了解一下匿名函数lambda,它是指一类无需定义标识符(函数名)的函数或子程序。lambda 函数可以接收任意多个参数 (包括可选参数) 并且返回单个表达式的值。作用好比一个对象接口。

>>> sation=['apple','bananas','cherry']
>>> sorted(sation,key=len)
['apple', 'cherry', 'bananas']
>>> sorted(sation,key=len,reverse=True)
['bananas', 'cherry', 'apple']

关于sorted更深入的说明,这部分可以多上机实验:

list.sort(iterable,cmp=None, key=None, reverse=False)

iterable就是序列对象;cmp可选参数, 如果指定了该参数会使用该参数的方法进行排序,key上面提过reverse为排序规则,reverse = True 降序, reverse = False 升序(默认)。

>>> sation_tuples = [('apple',12),('banana',15),('cherry',8)]
>>> sorted(sation,key=lambda sation:sation[1])
[('cherry', 8), ('apple', 12), ('banana', 15)]

第三部分:简单的值操作

(1)最值操作

Python提供内置函数max(),min()分别用来求最大值和最小值,对象可以是列表、元组等,操作简便,还支持default参数,指定迭代对象为空时默认返回最大值或者最小值和key参数,用法同于上文sorted。

>>> num1=(12,13)
>>> num2=(15,18)
>>> num3=(8,9)
>>> num=[num1,num2,num3]
>>> numen=max(num,key=lambda num:num[1])
>>> print(numen)
(15, 18)

(2)求和操作

Pyhon中,内置函数sum()可实现求和,支持start参数,控制求和的初始值。

>>> sum(range(1,5))
10
>>> from random import randint
>>> sumen = [randint(1,8) for i in range(5)]
>>> print(sum(sumen))
30

(3)字符串求值操作

内置函数eval()用来计算“字符串”的值,这里的字符串主要是包含了一组表达式,返回值就是表达式的结果,同时,它还可以对字节串进行求值。

>>> eval('8+16')
24
>>> eval(b'56+24')
80

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-01-14 02:14:08  更:2022-01-14 02:15:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 18:27:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码