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)——数字处理函数、类型判断、列表链表队列栈的更多相关文章

  1. Python列表操作与深浅拷贝(6)——列表索引、查询、修改、扩展

    列表list定义 L1 = [] L2 = [1,2,'abc'] L3 = list() L4 = list(range(5)) L5 = [1,'abc',True,None,[4,5,'abc' ...

  2. Python列表操作与深浅拷贝(7)——列表深浅拷贝、删除、反转、排序

    列表复制 浅拷贝:简单类型元素全复制,引用类型元素只复制引用 L1 = [3,2,1,[4,5,6],8,'abc'] L1 [3, 2, 1, [4, 5, 6], 8, 'abc'] L2 = L ...

  3. python之路(三)-深浅拷贝

    深浅拷贝用法来自copy模块. 导入模块:import copy 浅拷贝:copy.copy 深拷贝:deepcopy 字面理解:浅拷贝指仅仅拷贝数据集合的第一层数据,深拷贝指拷贝数据集合的所有层.所 ...

  4. Python【第二篇】运算符及优先级、数据类型及常用操作、深浅拷贝

    一.运算符及优先级 Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 1.算数运算符 运算符 描述 实例,a=20,b=10 + 加 a+b输出结果30 - 减 a-b输出结果 ...

  5. python学习笔记:深浅拷贝的使用和原理

    在理解深浅拷贝之前,我们先熟悉下变量对象和数据类型 1.变量和对象 变量-引用-对象(可变对象,不可变对象) 在python中一切都是对象,比如[1,2],'hello world',123,{'k1 ...

  6. python变量存储和深浅拷贝

    python的变量及其存储 在高级语言中,变量是对内存及其地址的抽象.对于python而言,python的一切变量都是对象,变量的存储,采用了引用语义的方式,存储的只是一个变量的值所在的内存地址,而不 ...

  7. python内存相关以及深浅拷贝讲解

    3.9 内存相关 3.9.1 id,查看内存地址 >>> v1 = [11,22,33] >>> v2 = [11,22,33] >>> prin ...

  8. Python collection模块与深浅拷贝

    collection模块是对Python的通用内置容器:字典.列表.元组和集合的扩展,它包含一些专业的容器数据类型: Counter(计数器):dict子类,用于计算可哈希性对象的个数. Ordere ...

  9. Python面试题目之深浅拷贝浅析

    # copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象. **只是简单的指针赋值 # copy.deepcopy 深拷贝 拷贝对象及其子对象 **指针赋值,且内容拷贝 用一个简单的例 ...

随机推荐

  1. 浅谈AMD与CMD

    AMD 是 RequireJS 在推广过程中对模块定义的规范化产出. CMD 是 SeaJS 在推广过程中对模块定义的规范化产出. 这些规范的目的都是为了 JavaScript 的模块化开发,特别是在 ...

  2. c# WF 第3节 窗体的属性

    本节内容: 1:如何找到窗口属性 2:窗口属性 1:如何找到窗口属性 2:窗口属性

  3. Linux下MongoDB安装和配置(二)

    1. 下载MongoDB 下载地址:https://www.mongodb.com/download-center/community 这里选择的是:mongodb-linux-x86_64-4.0. ...

  4. 用pip命令把python包安装到指定目录

    sudo pip install transforms3d --target=/usr/local/lib/python2.7/site-packages pip install transforms ...

  5. 第十 构建Web内容的技术

    第十章 构建Web内容的技术 一.HTML HTML(HyperText Markup Language,超文本标记语言)是为了发送Web 上的超文本(Hypertext)而开发的标记语言.超文本是一 ...

  6. 第05组团队Github现场编程实战

    第05组团队Github现场编程实战 一.组员职责分工 组员 分工 卢欢(组长) 前后端接口设计 严喜 寻找相关资料 张火标 设计并描述界面原型 钟璐英 编写随笔 周华 填写完善文档 古力亚尔·艾山 ...

  7. layim+signalr2.0+mongodb在线轻聊版解决方案(可提供演示)

    本内容有版权限制,仅提供学习交流参考等等,请勿随便转载或者代码商用.     /** layui-v2.1.5 MIT License By http://www.layui.com */; layu ...

  8. gradle是什么

    Gradle是JVM生态下又一款开源的自动化构建工具,以基于Groovy的DSL描述构建过程,在结合了ant和maven的优点的基础上,提供了更为简洁,灵活和高效的build体验. Task代表了构建 ...

  9. h5移动端页面强制横屏

    说明:这个的原文章来自于https://www.jianshu.com/p/9c3264f4a405  ,我做点点补充  ,谢谢原链接的小姐姐 最近公司是要我做一个h5的小视频,因为是视频接视频,并且 ...

  10. 如果对象的引用被置为null,;垃圾回收器是否会立即释放对象占用的内存?

    不会,在下一个垃圾回调周期中,这个对象将是被可回收的. 也就是说并不会立即被垃圾收集器立刻回收,而是在下一次垃圾回收时才会释放其占用的内存.