Python入门重点
2016-05-27 10:34
369 查看
1.容器类型
Python提供多种数据类型来存放数据项集合。用户还可以通过添加模块创建出更多容器类型。Python中常用的容器有:
(1)列表List——列表是Python中存放有序对象的容器,可以容纳任何数据类型:数值、布尔型、字符串等等。列表一般用两个中括号来表示,下面的代码演示了如何创建一个名为jj的列表,并在列表内添加一个整数和一个字符串:
>>> jj=[]
>>> jj.append(1)
>>> jj.append('nice hat')
或者
>>> jj=[1, 'nice hat']
Python中也有数组数据类型。但是数组中仅能存放同一种类型的数据,在循环的时候它的性能优于列表。
(2)字典Dictionary——字典是一个存放无序的键值映射类型数据的容器,键的类型可以是数字或者字符串。下面创建一个字典并在其中加入两个元素:
>>> jj={}
>>> jj ['dog'] ='dalmatian'
>>> jj [1]=42
或者
>>> jj={1: 42, 'dog': 'dalmatian' }
(3)集合(Set)——这里的集合与数学中集合的概念类似,是指由不同元素组成的集合。下面的命令可以从列表中创建一个集合来:
>>> a=[1, 2, 2, 2, 4, 5, 5]
>>> sA=set(a)
>>> sA
{1, 2, 4, 5} #注意生成的集合中的元素满足唯一性
集合支持一些数学运算,比如交集、并集和补集。并集用管道符号(|)表示,交集用&符号来表示
>>> sB=set([4,5,6,7])
>>>sA-sB
{1, 2}
>>> sA | sB
{1, 2, 4, 5, 6, 7}
>>> sA & sB
{4, 5}
2. 控制结构
(1)if 语句非常直观,写成多行时,使用缩进来告诉编译器本语句尚未完成。
>>> if jj<3:
jj+=1
elif jj==3: jj+=0
else: jj=0
(2)For循环遍历集合中的每个元素
>>> sB=set ([4, 5, 6, 7])
>>> for item in sB:
print item
下面遍历一部分字典:
>>> jj={'dog': 'dalmatian', 1: 45}
>>> for item in jj:
print item, jj[item] #字典中的元素会按键值大小顺序遍历
(3)列表推导式
>>> a=[1, 2, 2, 2, 4, 5, 5]
>>> myList = [item*4 for item in a]
另外
>>> [item*4 for item in a if item>2]
2. NumPy模块
NumPy是Python的一个矩阵类型,提供了大量矩阵处理函数。非正式来说,它是一个使运算更容易、执行更迅速的库,因为它的内部运算是通过C语言而不是Python实现的。
尽管声称是一个关于矩阵的库,NumPy实际上包含了两种基本的数据类型:数组和矩阵。
数组处理的例子
>>> from numpy import array
>>> mm=array((1,1,1))
>>> pp=array((1,2,3))
>>> pp+mm
如果只用常规Python的话,完成上述功能需要使用for循环。
另外在Python中还有其他一些需要循环的处理过程,例如在每个元素上乘以常量2,而在NumPy下就可以写成:
>>> pp*2
NumPy中也支持多维数组
>>> jj =array([[1, 2, 3], [1, 1, 1]])
>>> jj [0]
>>> jj [0] [1]
也可以用矩阵方式访问:
>>> jj [0, 1]
把两个数组乘起来的时候,两个数组的元素将对应相乘
>>> a1=array([1,2,3])
>>> a2=array([0.3,0.2,0.3])
>>>a1*a2
矩阵处理的例子
与使用数组一样,需要从NumPy中导入matrix或者mat模块:
>>> from numpy import mat, matrix
>>> ss = mat ([1,2,3])
#上述mat是matrix的缩写
可以访问矩阵中的单个元素:
>>> mm [0, 1]
可以把Python列表转换成NumPy矩阵
>>> pyList=[5,11,1605]
>>> mat(pyList)
>>> mm*ss.T #.T方法完成了ss的转置
>>> from numpy import shape
>>> shape (mm) #通过NumPy中的shape方法来查看矩阵或者数组的维数
>>>from numpy import multiply
>>>multiply (mm,ss)
#把矩阵mm的每个元素和矩阵ss的每个元素对应相乘,即元素相乘法。
>>>mm.sort() #原地排序,排序后的结果占用原始的存储空间,如果希望保留数据的原序,必须事先做一份拷贝。
>>>dd.argsort() #使用argsort()方法得到矩阵中每个元素的排序序号
>>>dd.mean()
Python提供多种数据类型来存放数据项集合。用户还可以通过添加模块创建出更多容器类型。Python中常用的容器有:
(1)列表List——列表是Python中存放有序对象的容器,可以容纳任何数据类型:数值、布尔型、字符串等等。列表一般用两个中括号来表示,下面的代码演示了如何创建一个名为jj的列表,并在列表内添加一个整数和一个字符串:
>>> jj=[]
>>> jj.append(1)
>>> jj.append('nice hat')
或者
>>> jj=[1, 'nice hat']
Python中也有数组数据类型。但是数组中仅能存放同一种类型的数据,在循环的时候它的性能优于列表。
(2)字典Dictionary——字典是一个存放无序的键值映射类型数据的容器,键的类型可以是数字或者字符串。下面创建一个字典并在其中加入两个元素:
>>> jj={}
>>> jj ['dog'] ='dalmatian'
>>> jj [1]=42
或者
>>> jj={1: 42, 'dog': 'dalmatian' }
(3)集合(Set)——这里的集合与数学中集合的概念类似,是指由不同元素组成的集合。下面的命令可以从列表中创建一个集合来:
>>> a=[1, 2, 2, 2, 4, 5, 5]
>>> sA=set(a)
>>> sA
{1, 2, 4, 5} #注意生成的集合中的元素满足唯一性
集合支持一些数学运算,比如交集、并集和补集。并集用管道符号(|)表示,交集用&符号来表示
>>> sB=set([4,5,6,7])
>>>sA-sB
{1, 2}
>>> sA | sB
{1, 2, 4, 5, 6, 7}
>>> sA & sB
{4, 5}
2. 控制结构
(1)if 语句非常直观,写成多行时,使用缩进来告诉编译器本语句尚未完成。
>>> if jj<3:
jj+=1
elif jj==3: jj+=0
else: jj=0
(2)For循环遍历集合中的每个元素
>>> sB=set ([4, 5, 6, 7])
>>> for item in sB:
print item
下面遍历一部分字典:
>>> jj={'dog': 'dalmatian', 1: 45}
>>> for item in jj:
print item, jj[item] #字典中的元素会按键值大小顺序遍历
(3)列表推导式
>>> a=[1, 2, 2, 2, 4, 5, 5]
>>> myList = [item*4 for item in a]
另外
>>> [item*4 for item in a if item>2]
2. NumPy模块
NumPy是Python的一个矩阵类型,提供了大量矩阵处理函数。非正式来说,它是一个使运算更容易、执行更迅速的库,因为它的内部运算是通过C语言而不是Python实现的。
尽管声称是一个关于矩阵的库,NumPy实际上包含了两种基本的数据类型:数组和矩阵。
数组处理的例子
>>> from numpy import array
>>> mm=array((1,1,1))
>>> pp=array((1,2,3))
>>> pp+mm
如果只用常规Python的话,完成上述功能需要使用for循环。
另外在Python中还有其他一些需要循环的处理过程,例如在每个元素上乘以常量2,而在NumPy下就可以写成:
>>> pp*2
NumPy中也支持多维数组
>>> jj =array([[1, 2, 3], [1, 1, 1]])
>>> jj [0]
>>> jj [0] [1]
也可以用矩阵方式访问:
>>> jj [0, 1]
把两个数组乘起来的时候,两个数组的元素将对应相乘
>>> a1=array([1,2,3])
>>> a2=array([0.3,0.2,0.3])
>>>a1*a2
矩阵处理的例子
与使用数组一样,需要从NumPy中导入matrix或者mat模块:
>>> from numpy import mat, matrix
>>> ss = mat ([1,2,3])
#上述mat是matrix的缩写
可以访问矩阵中的单个元素:
>>> mm [0, 1]
可以把Python列表转换成NumPy矩阵
>>> pyList=[5,11,1605]
>>> mat(pyList)
>>> mm*ss.T #.T方法完成了ss的转置
>>> from numpy import shape
>>> shape (mm) #通过NumPy中的shape方法来查看矩阵或者数组的维数
>>>from numpy import multiply
>>>multiply (mm,ss)
#把矩阵mm的每个元素和矩阵ss的每个元素对应相乘,即元素相乘法。
>>>mm.sort() #原地排序,排序后的结果占用原始的存储空间,如果希望保留数据的原序,必须事先做一份拷贝。
>>>dd.argsort() #使用argsort()方法得到矩阵中每个元素的排序序号
>>>dd.mean()
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法