前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python第一周 学习笔记(3)

Python第一周 学习笔记(3)

作者头像
py3study
发布2020-01-07 11:20:48
7450
发布2020-01-07 11:20:48
举报
文章被收录于专栏:python3

Python内置数据结构


一、数值型


1.数据类型分类:

int:整数

python3的int就是长整型,且没有大小限制,受限于内存区域的大小 int(x) 返回一个整数

float:浮点数

有整数部分和小数部分组成。支持十进制和科学计数法表示。只有双精度型。 float(x) 返回一个浮点数

complex:复数

有实数和虚数部分组成,实数和虚数部分都是浮点数,3+4.2J complex(x)、complex(x,y) 返回一个复数

bool:布尔

int的子类,仅有2个实例True、False对应1和0,可以和整数直接运算 bool(x) 返回布尔值,bool值判断逻辑一如前文所述,如: bool('') --> False bool(0) --> False

2.数字处理函数:

(1)int()、floor()、ceil()、round()、// 区别:
int():

builtin内置函数 官方文档描述: class int(x=0) class int(x, base=10) Return an integer object constructed from a number or string x, or return 0 if no arguments are given. If x is a number, return x.int(). For floating point numbers, this truncates towards zero.

If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in radix base. Optionally, the literal can be preceded by + or - (with no space in between) and surrounded by whitespace. A base-n literal consists of the digits 0 to n-1, with a to z (or A to Z) having values 10 to 35. The default base is 10. The allowed values are 0 and 2–36. Base-2, -8, and -16 literals can be optionally prefixed with 0b/0B, 0o/0O, or 0x/0X, as with integer literals in code. Base 0 means to interpret exactly as a code literal, so that the actual base is 2, 8, 10, or 16, and so that int('010', 0) is not legal, while int('010') is, as well as int('010', 8).

对于浮点数,截断小数至零 即取整数部分

floor():

math模板 向下取整

ceil():

math模板 向上取整

round():

四舍六入五取偶

//:

整除并floor() floored quotient of x and y

(2)数字处理函数_2
min()

min(iterable, [, key, default]) min(arg1, arg2, args[, key])

max()

max(iterable, [, key, default]) max(arg1, arg2, args[, key])

pow(x,y)

功能与x**y相同

math.sqrt()

开方

bin()

返回值为字符串

oct()

返回值为字符串

hex()

返回值为字符串

math.pi
math.e
(3)类型判断
type(obj)

返回类型而不是字符串

isinstance(obj, class_or_tuple)

返回布尔值

二、序列对象


数据类型分类:

1.str:字符串

详见:Python第二周 学习笔记(1)

2.list:列表

列表内元素有顺序,可以使用索引 线性的数据结构 列表是可变的

初始化 例:

代码语言:javascript
复制
lst=list()
lst=[]
lst=[1,2,'a',['i','j']]
lst=[range(5)]

不能一开始就定义大小,对比java

列表list、链表、queue、stack的差异

list线性存储,查询效率高O(1),插入、删除效率低O(n) 链表散落在内存中,查询效率低O(n),插入、删除效率高O(1) queue先进先出FIFO 栈后进先出LIFO

列表索引访问

正索引:从左至右,从0开始,为列表中每一个元素编号 负索引:从右至左,从-1开始

列表查询

index(value,[start,[stop]]) 返回第一个匹配项的索引 只能从左向右遍历 匹配不到返回ValueError异常 时间复杂度O(n),因需遍历列表

count(value)

返回列表中匹配value的次数 时间复杂度O(n),因需遍历列表

len()

时间复杂度O(1) 计数器在每次向list中插入、删除时执行计数 因此调用len()时只打出计数器数值,不执行遍历操作

列表增加、插入元素
append(object) -> None

在尾部追加,返回None 修改原有对象,不生成新对象 时间复杂度O(1)

insert(index, object) -> None

在指定索引插入元素,返回None 修改原有对象,不生成新对象 时间复杂度O(n),因为插入后可能会发生后续元素在内存中进行依次后移操作

若index超界不报错: 超越上界,尾部追加 超越下界,头部追加

extend(iteratable) -> None

将可迭代对象的元素追加进来,返回None 修改原有对象,不生成新对象

+ -> list

连接操作,将两个列表连接起来 产生新的对象,原列表不变 本质上调用的是add()方法

* -> list

重复操作,将本列表元素重复n次,返回新的列表

注意:
代码语言:javascript
复制
x=[[1,2,3]]
y=x*3
y[0][1]=200
y

结果为: [[1, 200, 3], [1, 200, 3], [1, 200, 3]]

代码语言:javascript
复制
y = [1]*5
y[0] = 6
y[1] = 7
print(y)

结果为: [6, 7, 1, 1, 1]

可暂时理解为: *复制,对于复杂对象,复制的是引用,并非数据,复制的三个元素实际指向的是同一个内存地址 简单对象不影响

列表删除元素
remove(value) -> None

从左至右查找第一个匹配value的值,移除该元素,返回None 修改原有对象,不生成新对象 时间复杂度O(n),因为插入后可能会发生后续元素在内存中进行依次后移操作(列表在内存中连续顺序存储)

pop([index]) -> item

不指定索引index,就从列表尾部弹出一个元素 指定索引index,就从索引处弹出一个元素,索引超界抛出IndexError错误 时间复杂度: 不指定索引为O(1) 指定索引为O(n),因为插入后可能会发生后续元素在内存中进行依次前移操作(列表在内存中连续顺序存储)

clear() -> None

清除列表所有元素,剩下一个空列表

列表其它操作
reverse() -> None

将列表元素反转,返回None 修改原有对象,不生成新对象

sort(key=None, reverse=False) -> None

对列表元素进行排序,默认升序 修改原有对象,不生成新对象 reverse为True,反转,降序 key一个函数,指定key如何排序

in
3.tuple:元组

详见:Python第二周 学习笔记(1)

三、键值对


数据类型分类:

set:集合

详见:Python第二周 学习笔记(2)

dict:字典

详见:Python第三周 学习笔记(1)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/09/18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Python内置数据结构
    • 一、数值型
      • 1.数据类型分类:
      • int:整数
      • float:浮点数
      • complex:复数
      • bool:布尔
      • 2.数字处理函数:
    • 二、序列对象
      • 数据类型分类:
    • 三、键值对
      • 数据类型分类:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档