Python

[Python]基础-基本数据类型

2020-01-22  本文已影响0人  DDuncan

一、文档结构

1 要点

Python基本数据类型

2 具体内容

补充

  1. 常用数据类型
    序列(suquence): Python 最基本的数据结构.
    特点: 根据索引(index,即元素的位置)来获取序列中的元素

  2. 所有序列都可以进行的通用操作

  1. 常用数据类型

二、基本类型

1 整数,浮点数,复数(a+bj)

算术操作

+ - * / // /结果取浮点数 //结果取整数部分
% **

位操作

& | ^ << >> ^表示异或

二进制 bin()
八进制 oct()
十六进制 hex()
取整 round()

结合模块math

.ceil()
.floor()
.radians()


2 布尔值 True False

and or not
bool() 检查变量的真假值


3 None

None不能理解为0,因为0是有意义的,而None是一个特殊的空值

4 列表list []

有序的,可变的,支持嵌套
列表与字典相反,查找和插入速度随着元素的增加而变慢,但占用的内存较小

list[start: end: step] 切片
in; not in 查找,返回布尔值
index() 返回索引,可指定索引范围,查不到也不会报错

改/增

修改:直接赋值
list1+list2 合并列表
list1.extend(list2) 合并列表
list.append() 添加元素
list.insert(index, ) 指定位置添加元素

del()
remove() 删除第一个匹配的值,没有则抛出异常
pop() 返回最后一个元素,并删除
clear()

排序

sort(key=)
reverse()

遍历

for ... in enumerate() 枚举
for ... in zip() 多个列表合并
range()
列表推导式

统计

len()
count() 某个元素的个数
max()
min()

copy 浅复制
deepcopy 深复制
L = ['Windrivder', 21, {'name': 'xiaoming'}]; name, age, other = L 赋值小技巧


5 集合set {}

创建用set(),而不是{}
没有顺序:不能用切片和索引来操作
基本用法包括成员检测,利用集合的特性消除重复元素或做并、交、差等数学操作
注:set是可变数据类型,但是set里面的元素一定是不可变数据类型

创建

set()
frozenset() 不可变的集合

in; not in

改/增

set.add()
set.update()

set.remove()
discard()
pop() 随机删除

遍历

集合推导式

统计

len()

集合操作(维恩图)

set1 & set2 交集
set1 | set2 并集
set1 - set2 补集
a^b 并集减去交集
a.update(b) 求差集并赋值给a集合
difference()
difference_update()
intersection()
intersection_update()
union()
symmetric_difference() 两个集合中不重复的元素集合
symmetric_difference_update() 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中

判断

isdisjoint() 判断两个集合是否包含相同的元素
issubset() 判断集合的所有元素是否都包含在指定集合中
issuperset() 判断指定集合的所有元素是否都包含在原始的集合中


6 元组tuple ()

有序
不可修改:因为tuple不可变,所以代码更安全(代替list)(内存可以明确知道需要分配多少空间给元组)
元组的元素不允许删除,但是我们可以删除整个元组

创建

tuple=(5,) 只有1个元素
tuple=(5) 表示int

切片

改/增

更改:先转化为列表

del()

统计

len()
max()
min()


7 字典dict {}

无序:无法用数值索引
可变:但组成字典的键必须是不可变的数据类型(因为它的 value 的位置是根据 key 计算出来的)
占用大量的内存而获得极快的查找和插入速度

创建

dict()
创建时如果同一个键被赋值两次,后一个值会被记住

查(通过键)

dict['key'] 通过键来得到值
dict.get('key') 找不到对象返回None

判断成员(通过键)

in; not in 查找,返回布尔值
dict.has_keys('key')
setdefault(k, v)如果键在字典中,则返回这个键的值,如果不在字典中,则向字典中插入这个键,并返回value,默认value位None

改/增

添加/修改:类似列表,直接赋值
fromkeys() 所有keys共用相同的value
dict.update(dict2) 将新的字典添加到原来的字典,若原来的字典包含了这个键则覆盖原来的值

del()
dict.pop('key') 返回最后一个元素,并删除
dict.popitem() 弹出最后一个键值对返回到元组中,没有会报错
dict.clear() 删除所有

遍历(类似列表)

for ... in enumerate() 枚举
for ... in zip() 多个列表合并
range()

统计

max(dict) 返回key中的最大项(针对int型的key)
max(dict.values())
len()
str() 输出字典中可以打印的字符串标识

copy 浅复制
深复制:直接赋值
dict.items() 返回键值对
dict.keys()
dict.values()


三、补充

0 pd.__version__ 版本号,返回字符串
1 字符串单独梳理
2 Bytes类型
一个字符占8位bit,所有的字符存到存储单元里都是bytes类型
3 自定义数据类型
Python 允许通过继承去自定义数据类型,很多第三方库或框架都有类似的应用
4 list是链表实现,set是hash表实现,不同的实现决定了是否排序
set是集合,集合在数学概念里面就是无序的
5 size()shape()是numpy模块中才有的函数
6 目标:list中的每个元素*10
list 10 ——只是列表的元素重复10次,类似字符串10
正确的做法:转化为序列数据pd.Series(tick_locs)*10


References

https://zhuanlan.zhihu.com/p/26079855
https://blog.csdn.net/Jarrodche/article/details/102537999
https://blog.csdn.net/shaoguodi/article/details/80617256
https://www.jianshu.com/p/0d877edeebd3

上一篇 下一篇

猜你喜欢

热点阅读