Python列表操作与深浅拷贝(5)——数字处理函数、类型判断、列表链表队列栈
python内建数据结构
分类
数值型: int float complex bool
序列对象: 字符串str 列表list 元组tuple
键值对: 集合set 字典dict
数值型 (list float complex bool都是class)
int:python3 中 int 就是长整型,没有大小限制
float:支持十进制和科学计数法表示,由C的双精度型实现
complex:由实数和虚数部分组成,实部和虚部都是浮点数
bool:int 的子类,仅有2个实例 True 和 False 对应 1 和 0,可以和整数直接运算
类型转换(built-in)
int(x)返回一个整数
- int(7)
- 7
float(x)
- float(7)
- 7.0
complex(x),complex(x,y)返回一个复数
- complex(7),complex(7,8)
- ((7+0j), (7+8j))
bool(x)返回布尔值
- bool(7)
- True
数字的函数处理
int()截取整数部分
- print('正数:',int(7.01),int(7.49),int(7.50),int(7.51),int(7.99),'复数:',int(-7.01),int(-7.49),int(-7.50),int(-7.51),int(-7.99))
- 正数: 7 7 7 7 7 复数: -7 -7 -7 -7 -7
// 向下取整
- print('正数:',int(7//2),int(7//3),int(7//4),int(7//5),int(7//6),'复数:',int(-7//2),int(-7//3),int(-7//4),int(-7//5),int(-7//6))
- 正数: 3 2 1 1 1 复数: -4 -3 -2 -2 -2
floor()向下取整
- import math #导入math模块
- print('正数:',math.floor(7.01),math.floor(7.49),math.floor(7.50),math.floor(7.51),math.floor(7.99))
- print('复数:',math.floor(-7.01),math.floor(-7.49),math.floor(-7.50),math.floor(-7.51),math.floor(-7.99))
- 正数: 7 7 7 7 7
- 复数: -8 -8 -8 -8 -8
ceil()向上取整
- import math
- print('正数:',math.ceil(7.01),math.ceil(7.49),math.ceil(7.50),math.ceil(7.51),math.ceil(7.99))
- print('复数:',math.ceil(-7.01),math.ceil(-7.49),math.ceil(-7.50),math.ceil(-7.51),math.ceil(-7.99))
- 正数: 8 8 8 8 8
- 复数: -7 -7 -7 -7 -7
round()四舍,六入,五取最近的偶数
- print('正数:',round(7.01),round(7.49),round(6.50),round(7.50),round(7.51),round(7.99))
- print('复数:',round(-7.01),round(-7.49),round(-6.50),round(-7.50),round(-7.51),round(-7.99))
- 正数: 7 7 6 8 8 8
- 复数: -7 -7 -6 -8 -8 -8
min()取最小
两种表示方法
- min(range(5))
- min(0,1,2,3,4,5)
max()取最大
pow(x,y)平方,等同于x**y
- pow(2,3)
- 8
math.sqrt()开方,等同于x**0.5
- import math
- math.sqrt(2)
- 1.4142135623730951
类型判断
type可以判断对象类型,type(a)返回值为类型,不是字符串
- type(7),type(7.1),type(bin(7)),type(False)
- (int, float, str, bool)
isinstance(obj,class_or_tuple)判断类型,返回值为布尔,可以判断子类
- isinstance(7,str)
- False
- isinstance(7,(str,bool,int))
- True
- 1 + True + 2.2 #隐式类型转换,整型向浮点型转换
- 4.2
列表list、链表、queue、stack
list 使用[ ]表示,列表是可变的
一个队列,开辟连续的内存空间
列表内的个体称为元素,元素可以是任意对象(数字,字符串,对象,列表等),元素在列表内依序排列,可以使用索引
列表查询速度快,改变数据对性能影响大
链表是可变的,在内存中随机排列
单向链表:有下一位的内存地址
双向链表:有上一位和下一位的内存地址
queue队列:不可变数据,先进先出
stack栈:不可变数据,后进先出
Python列表操作与深浅拷贝(5)——数字处理函数、类型判断、列表链表队列栈的更多相关文章
- Python列表操作与深浅拷贝(6)——列表索引、查询、修改、扩展
列表list定义 L1 = [] L2 = [1,2,'abc'] L3 = list() L4 = list(range(5)) L5 = [1,'abc',True,None,[4,5,'abc' ...
- Python列表操作与深浅拷贝(7)——列表深浅拷贝、删除、反转、排序
列表复制 浅拷贝:简单类型元素全复制,引用类型元素只复制引用 L1 = [3,2,1,[4,5,6],8,'abc'] L1 [3, 2, 1, [4, 5, 6], 8, 'abc'] L2 = L ...
- python之路(三)-深浅拷贝
深浅拷贝用法来自copy模块. 导入模块:import copy 浅拷贝:copy.copy 深拷贝:deepcopy 字面理解:浅拷贝指仅仅拷贝数据集合的第一层数据,深拷贝指拷贝数据集合的所有层.所 ...
- Python【第二篇】运算符及优先级、数据类型及常用操作、深浅拷贝
一.运算符及优先级 Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 1.算数运算符 运算符 描述 实例,a=20,b=10 + 加 a+b输出结果30 - 减 a-b输出结果 ...
- python学习笔记:深浅拷贝的使用和原理
在理解深浅拷贝之前,我们先熟悉下变量对象和数据类型 1.变量和对象 变量-引用-对象(可变对象,不可变对象) 在python中一切都是对象,比如[1,2],'hello world',123,{'k1 ...
- python变量存储和深浅拷贝
python的变量及其存储 在高级语言中,变量是对内存及其地址的抽象.对于python而言,python的一切变量都是对象,变量的存储,采用了引用语义的方式,存储的只是一个变量的值所在的内存地址,而不 ...
- python内存相关以及深浅拷贝讲解
3.9 内存相关 3.9.1 id,查看内存地址 >>> v1 = [11,22,33] >>> v2 = [11,22,33] >>> prin ...
- Python collection模块与深浅拷贝
collection模块是对Python的通用内置容器:字典.列表.元组和集合的扩展,它包含一些专业的容器数据类型: Counter(计数器):dict子类,用于计算可哈希性对象的个数. Ordere ...
- Python面试题目之深浅拷贝浅析
# copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象. **只是简单的指针赋值 # copy.deepcopy 深拷贝 拷贝对象及其子对象 **指针赋值,且内容拷贝 用一个简单的例 ...
随机推荐
- spark 基础
scala版 ,基本名词概念及 rdd的基本创建及使用 var conf = new SparkConf() var sc: SparkContext = new SparkContext(conf) ...
- SpringMVC其他说明(六)
1. 编码问题 在web.xml中配置过滤器: <!-- 源码:spring-web.jar 功能:字符集过滤器,设置编码集为UTF-8,解决POST的中文乱码问题. 参数说明: encodin ...
- luoguP1791 [国家集训队]人员雇佣
题意 考虑先将所有价值加上,之后用最小割求最小代价. 考虑每个点对\((i,j)\),我们这样建边: 1.源点向每个点i连\(\sum\limits E_{i,j}\)容量的边. 2.每个点向汇点连雇 ...
- Leetcode173. 二叉搜索树迭代器
空间复杂度O(h)而不是O(n),因此不能直接在初始化函数中做中序遍历将结果存储到数组中.next()和hasNext()时间复杂度为O(1)首先本题很容易想到用二叉树的中序遍历去解决,外加注意点1. ...
- hdu6468 dfs剪枝 or char数组 or 构造
http://acm.hdu.edu.cn/showproblem.php?pid=6468 题意 有一个序列,是1到n的一种排列,排列的顺序是字典序小的在前,那么第k个数字是什么?(\(1 \leq ...
- ThreadPoolExecutor 线程池 简单解析
jdk1.8 ThreadPoolExecutor ThreadPoolExecutor实际就是java的线程池,开发常用的Executors.newxxxxx()来创建不同类型和作用的线程池,其底部 ...
- 快速缓存刷新CDN节点的方法
缓存刷新方式有 URL 刷新.目录刷新和 URL 预热.URL 刷新是以文件为单位进行缓存刷新.目录刷新是以目录为单位,将目录下的所有文件进行缓存刷新.URL 预热是以文件为单位进行资源预热. 刷新后 ...
- Kubernetes Job与CronJob(离线业务)
Kubernetes Job与CronJob(离线业务) Job Job分为普通任务(Job) 一次性执行 应用场景:离线数据处理,视频解码等业务 官方文档:https://kubernetes.i ...
- Linux PHP安装xdebug扩展及PHPstorm调试
前言:使用IDE编辑器的时候如PHPstorm,为了方便调试,这里安装PHP的扩展xdebug.安装环境为Linux centos7.3 一.下载xdebug扩展 官网:https://xdebug. ...
- Elasticsearch PUT 插入数据
{ "error": { "root_cause": [ { "type": "illegal_argument_exceptio ...