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 深拷贝 拷贝对象及其子对象 **指针赋值,且内容拷贝 用一个简单的例 ...
随机推荐
- 用curl通过相同IP请求不同域名的URL
tomcat可以从一个IP响应不同的域名. $ curl -I http://127.0.0.1:8080 -H "Host:w.example.com" 可以影响http的ho ...
- 【cf343】D. Water Tree(dfs序+线段树)
传送门 题意: 给出一个以\(1\)为根的有根树,起始每个结点都为\(0\),现在有三种操作: 1.将\(v\)及\(v\)的子树都置为\(1\): 2.将\(v\)及其所有的祖先都置为\(0\): ...
- 剑指Offer-16.合并两个排序的链表(C++/Java)
题目: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 分析: 可以用一个新的节点,来去比较两个单调递增的链表当前节点的值,如果p1当前的值小于p2,则新 ...
- 树莓派开机主动发送自己的局域网ip/外网ip到你的微信
开机时,树莓派主动发送自己的内网ip以及公网ip到你的微信上,这样就能方便地使用ssh或VNC. 操作步骤 下载目录下的 boot_getIP_send_Wechat.py 到你的 Raspberry ...
- 如何运用C语言求(判断)素数。
int i,n; scanf("%d",&n); i=2; //这一步是亮点!! while(i<n) { if(n%i==0) break; i++; } if ...
- hibernate中flush()、refresh()、clear()缓存操作
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ flush():使数据库中的对象和session缓存中的对象的状态 ...
- Linux应试技巧
前言:此文是为了CSP-S第二轮认证所用系统NOI-Linux的写的,但其他的Linux系统也可以按照相同或类似的方法进行配置. 配置NOI-Linux 我大约是一个月以前由于比赛的原因才开始接触NO ...
- JBoss4.2.2配置及优化
本文是在[url=http://solarisxb.cublog.cn]SOLARIS小兵[/url]的[url=http://blog.chinaunix.net/u/504/showart_114 ...
- 【ECharts】1.学习ECharts从现在开始:第一个Echart图形
首先,你需要下载ECharts所需的文件,我使用的是echarts-2.0.2版本,点击这里下载:echarts-2.0.2 下载解压后,下面有一系列文件夹,其中build中有我们需要引入的JS文件, ...
- Flink之state processor api实践
前不久,Flink社区发布了FLink 1.9版本,在其中包含了一个很重要的新特性,即state processor api,这个框架支持对checkpoint和savepoint进行操作,包括读取. ...