Python学习笔记之第三章内建数据结构、函数以及文件

在这里插入图片描述
一、数据结构和序列
1、 元组:不能修改,()来初始化

  • 使用tuple函数将任意序列或迭代器转换为元组
tup = tuple("String")
tup

Output:(‘S’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g’)

  • 如果元组中有一个对象是可变,例如列表,可以在它内部进行修改
tup = tuple(['foo',[1,2,3],'zyy'])
tup[1].append(3)
tup

Output:(‘foo’, [1, 2, 3, 3], ‘zyy’)

  • 可以用+来连接元组,或者用惩罚来拷贝数组
('foo',[1,2,3],'zyy')+(2,5)+('hhhh',)
Output:('foo', [1, 2, 3], 'zyy', 2, 5, 'hhhh')
('foo',[1,2,3],'zyy')*2

Output:(‘foo’, [1, 2, 3], ‘zyy’, ‘foo’, [1, 2, 3], ‘zyy’)

  • 元组拆包
tup = (1,2,3)
a,b,c = tup
b

Output:2

  • 交换
a,b = 1,2
a,b = b,a
a

Output:2

  • rest有时候是你想要丢弃的数据
values = 1,2,3,4
a,b,*rest = values
a,rest

Output:(1, [3, 4])

2、列表:可以修改,[]来初始化

  • insert和append的区别在于insert可以插入想要的位置,append只能插入在尾部
  • remove和pop的区别在于remove仅仅删除,pop删除后会返回删除的值
  • 用in关键字检查某个元素是否在一个列表中
list = ['foo', [1, 2, 3], 'zyy', 'foo', [1, 2, 3], 'zyy']
'zyy' in list

Output:True

  • 与元组相同,可以用+来连接数组
  • 可以用extend方法同时添加多个元素
list = ['foo', [1, 2, 3], 'zyy', 'foo', [1, 2, 3], 'zyy']
list.extend([2,3,5])
list

Output:[‘foo’, [1, 2, 3], ‘zyy’, ‘foo’, [1, 2, 3], ‘zyy’, 2, 3, 5]

  • 可以用sort方法进行排序,也可以用key——一个用于生成排序值的函数
list = ['foo', 'zyyilyd', 'foooof']
list.sort(key=len)
list

Output:[‘foo’, ‘foooof’, ‘zyyilyd’]

  • 切片:start位置的索引是包含的,但是end位置的索引是不包含的,负索引是从尾部开始进行切。第二个冒号后面的数值是表示每隔多少个数取一个值
list1 = [1,2,4,5,63,3]
list2 = [2,4,63,2,3,6,4]
list1[-3:],list2[::2]

Output:[([5, 63, 3], [2, 63, 3, 4])
(当想要对列表进行翻转的时候,就可以使用list[::-1]

3、内建序列函数

  • enumerate:构造一个字典,可以将序列值映射到索引上
list = ['zyy','zyj','xht','hyj','gjy','cjn']
map = {}
for i,v in enumerate(list):
    map[v]=i
map

Output:{‘zyy’: 0, ‘zyj’: 1, ‘xht’: 2, ‘hyj’: 3, ‘gjy’: 4, ‘cjn’: 5}

  • sorted:返回一个已排序的列表
list = ['zyy','zyj','xht','hyj','gjy','cjn']
sorted(list)

Output:[‘cjn’, ‘gjy’, ‘hyj’, ‘xht’, ‘zyj’, ‘zyy’]

  • zip:可以处理任意长度的序列,他生成列表长度由最短的序列决定
  • reversed:将序列的元素倒序排列

4、字典:键值,{}来创建

5、集合:无序且元素唯一的容器,可以用set()或者{}来初始化

二、函数
1、命名空间、作用域和本地函数

  • global关键字为全局变量

2、返回多个值

def f():
    a = 5
    b = 6
    c = 7
    return a,b,c
a,b,c = f()
a,b,c

Output:(5, 6, 7)

3、函数是对象

4、匿名函数(Lambda):通过单个语句生成函数的方式

5、生成器:通过一致的方法遍历序列

6、错误和异常处理

  • 可以将多个异常类型写成元组的方式同时捕获多个异常
  • finally关键字是代表不管捕获了什么异常,最后都会执行finally的代码

1、python的文件模式
在这里插入图片描述
2、python的文件方法
在这里插入图片描述

参考教材:《利用Python进行数据分析》Wes Mckinney著

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值