python学习笔记(一)

python基础

一、数据分析常用python库

1、NumPy

Numberical Python,NumPy是python数值计算的基石。提供了多种数据结构、算法及接口。NumPy主要有两个方面,一个是快速处理数组数据的能力,另一个是作为在算法和库之间数据传递的数据容器

2、pandas

Python data analysis,pandas提供了高级数据结构和函数,具有强大的数据分析处理能力。它主要有两个对象:DataFrame,用于实现表格化、面向列、使用行列标签的数据结构;Series,一种一维标签数组对象。

3、matplotlib

matplotlib是用于制图及二维数据可视化的python库。

二、数据结构

1、元组(tuple)

元组是一种固定长度、不可变的python对象序列,其符号为()

tup = (1, 2, 3)

使用**tuple()**可以将任意序列或者迭代器转换为元组

In:  tuple([1, 2, 3])
Out: (1 ,2 ,3)

In:  tuple('abcd')
Out: ('a' ,'b' ,'c', 'd')

元组的元素跟列表一样,可以使用[]获取,序列索引从0开始

In:  tup = (1, 2, 3)

In:  tup[0]
Out: 1

In:  tup[1]
Out: 2

元组拆包

In:  tup = (1, 3, 6)
In:  a, b, c = tup

In:  a
Out: 1

In:  c
Out: 6

变量交换

In:  a = 1
In:  b = 2
In:  a, b = b, a

In:  a
Out: 2

In:  b
Out: 1 

元组的方法

tuple.count():用于计算元组中某值出现的次数

In:  tup = (1, 1, 2, 3)
In:  tup.count(1)
Out: 2

2、列表(list)

列表与元组不同的地方就是列表是可变的,列表长度可变,内容可修改,其符号也为[]

In:  tmp_list = [1, 2, 'bar', None, [1, 2, 3]]
# 列表索引从0到len(tmp_list)-1
In:  tmp_list[0]
Out: 1
In:  tmp_list[4]
Out: [1, 2, 3]

## 切片[start:stop],包左不包右
In:  tmp_list[0:len(tmp_list)-1]
Out: [1, 2, 'bar', None]

In:  tmp_list[0:len(tmp_list)]
Out: [1, 2, 'bar', None, [1, 2, 3]]

# 列表边上的位置序列在切片的时候可省略
In:  tmp_list[:2]
Out: [1, 2]

In:  tmp_list[1:]
Out: [2, 'bar', None, [1, 2, 3]]

In:  tmp_list[:]
Out: [12, 'bar', None, [1, 2, 3]]

In:  tmp_list[-1:]
Out: [12, 'bar', None, [1, 2, 3]]

In:  tmp_list[::]
Out: [12, 'bar', None, [1, 2, 3]]

# 列表取反[::step], ::后面step表示步进值,每隔多少数取一个值
In:  tmp_list[::-1]
Out: [[1, 2, 3], None, 'bar', 2, 1]

# 列表是可修改的
In:  tmp_list[0] = 'hello'
In:  tmp_list
Out: ['hello', 2, 'bar', None, [1, 2, 3]]

列表索引列表索引图

可以使用**list()**将迭代器或者生成器转换为列表

In:  list(range(0, 4))
Out: [0, 1, 2, 3]

In:  list((1, 2, 3))
Out: [1, 2, 3]  

列表的方法
list.append(value):将元素(value)添加到列表尾部
list.insert(index, value): 根据索引值(index)将元素(value)插在列表的某个位置
list.pop(index): 根据索引值(index)将列表元素移除
list.remove(value): 直接移除某元素(value)
list.sort():对列表进行排序

注意:此处的list仅象征代表列表,变量不能为list,因为list是一个关键字,关键字都不能作为变量命名

# append()
In:  tmp = [1]
In:  tmp.append('2')
In:  tmp
Out: [1, '2']

# insert()
In:  tmp = [1, 2, 3, 4]
In:  tmp.insert(2, 'a')
In:  tmp
Out: [1, 2, 'a', 3, 4]

# pop()
In:  tmp.pop(0)
Out: 1
In:  tmp
Out: [2, 'a', 3, 4]

# sort()
In:  [1, 7, 8, 2].sort()
Out: [1, 2, 7, 8]
# key二级排序用于生成排序值
In:  ['adsad', 'hi', 'a'].sort(key=len)
Out: ['a', 'hi', 'adsad']

二分搜索(已排序列表)

bisect.bisect会找到元素应当被插入的位置,并保持序列排序;
bisect.insort将元素插到相应的位置

内建序列函数

enumerate():

遍历列表,返回(index,value)元组

In: for index, value in enumerate(['this', 'here', 	'there']):
	print(index, value)
Out: 0 this
     1 here
     2 there

sorted():

sorted函数返回一个任意序列元素新建的已排序列表
sorted(list)

注意:sorted是一个函数,sort是列表的一个方法

zip():

zip()将列表、元组或其他序列元素配对,新建一个元组构成的列表。可以处理任意长度序列,生成的列表长度由最短序列决定。

In:  list1 = ['a', 'b', 'c']
In:  list2 = ['ni', 'hao', 'a']
In:  print(list(zip(list1, list2)))
Out: [('a', 'ni'), ('b', 'hao'), ('c', 'a')]

**‘拆分’**序列
将行的列表转换为列的列表

In:  tmp = [('n', 'h'), ('i', 'ao')]
In:  first_word, last_word = zip(*tmp)
In:  first_word
Out: ('n', 'i')
In:  last_word
Out: ('h', 'ao')

reversed()

reversed讲序列的元素倒序排列,是一个生成器

In: list(reversed(range(3)))
Out: [2, 1, 0]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值