python学习手册

一、数据类型

python学习手册_第1张图片

一、array(数组)

参考:https://zhuanlan.zhihu.com/p/50332730
python本身并没有数组类型,但是他的Numpy库中有数组类型。

array的创建

Numpy数组创建常用的两种方式如下:

 a=np.array((1,2,3))#参数是tuple
 b=np.array([6,7,8])#参数是list
 c=np.array([[1,2,3],[4,5,6]])#参数是二维list
arr1=np.arange(1,10,1)
 arr2=np.linspace(1,10,10)

np.arange(a,b,c)表示产生从a-b不包括b,间隔为c的一个array,数据类型默认是int32。但是linspace(a,b,c)表示的是把a-b平均分成c分,它包括b。

二、list(列表)

python中的list是python的内置数据类型,list中的数据类不必相同的。在list中的数据类型保存的是数据的存放的地址,简单的说就是指针,并非数据。因此list的缺点是内存需要同时保存指针和数据,增加了存储和cpu的消耗。例如list1=[1,2,3,‘a’]需要4个指针和四个数据。

list和array主要的区别是:

  • list中存储的数据类型不必完全相同,例如arr = [“one”,“two”,3]。array则需要存储相同的数据类型,因此在计算的通用性方面list要优于array。
  • Numpy专门针对封装的array在操作和运算方面进行了设计,因此存储效率和输入输出性能要优于list

list创建

lst = []
lst =  ["one","two",3]
lst = list()

list查询

arr = ['张三','李四','王五','赵六']

根据index查找数值

arr[0] #通过索引值下标查询,0 代表第一个,等于 '张三'
arr[-1] #从右往左查询,-1 代表最后一个,以此类推,等于 '赵六'

根据数值查找index

arr.index('张三') #返回出下标 0
arr.index('李四') #返回出下标 1

注:如果不同index的数值相同,只会返回找的第一个index,可以用count方法统计相同数值的索引数

arr = ['1','2','3','4','5','6','7','8','9','1','2','3','4','5','6','7','8','9','1','6','7','8']
arr.index('5') #返回出来的值等于 4 ,之后他就不会往下继续匹配了,默认匹配到第一个值后就会停止,不会往下走了
arr = ['1','2','3','4','5','6','7','8','9','1','2','3','4','5','6','7','8','9','1','6','7','8']
arr.counr('1') #返回出来的值是 3 ,代表这个数组中有三个相同的字符串 '1'

list切片

切片其实就是通过下标自定义去除从多少到多少的元素,左闭右开

arr = ['1','2','3','4','5','6','7','8','9','1','2','3','4','5','6','7','8','9','1','6','7','8']
arr[0:5] #返回的其实就是['1','2','3','4'] 0 代表的就是第一个,5 代表的就是第五个前面的一个,默认都是顾头不顾尾。
arr = ['1','2','3','4','5','6','7','8','9','1','2','3','4','5','6','7','8','9','1','6','7','8']
arr[-5:-1] #得出结果为:['9', '1', '6', '7'],切片必须从左往右切,所以是 [-5:-1]
arr[:-1] #得出的结果是整个数组,第一个默认不写的话取之是从第一个开始取
arr[0:] #得出的结果是整个数组,最后一个默认不写的话取之是倒数第一个 -1
arr[:] #得出的结果是整个数组,第一个默认不写代表第一个,最后一个默认不写代表最后一个
arr = ['1','2','3','4','5','6','7','8','9','1','2','3','4','5','6','7','8','9','1','6','7','8']
arr[0:-1:2] #这样就得出了我想要的结果:['1', '3', '5', '7', '9', '2', '4', '6', '8', '1', '7']
arr[:-1:2] #这样就得出了我想要的结果:['1', '3', '5', '7', '9', '2', '4', '6', '8', '1', '7']
arr[::2] #这样就得出了我想要的结果:['1', '3', '5', '7', '9', '2', '4', '6', '8', '1', '7']

三、字典

https://www.runoob.com/python/python-dictionary.html

新建

#动态分配
>>> d={}
>>> d['name']='Allen'
>>> d['age']=21
>>> d['gender']='male'
>>> d
{'age': 21, 'name': 'Allen', 'gender': 'male'}
#传统创建方式
>>> d={'name':'Allen','age':21,'gender':'male'}
>>> d
{'age': 21, 'name': 'Allen', 'gender': 'male'}
#借助相关方法,例如collections方法里的counter

#首先引入该方法
from collections import Counter
#对列表作用
list_01 = [1,9,9,5,0,8,0,9]  #GNZ48-陈珂生日
print(Counter(list_01))  #Counter({9: 3, 0: 2, 1: 1, 5: 1, 8: 1})
 
#对字符串作用
temp = Counter('abcdeabcdabcaba')
print(temp)  #Counter({'a': 5, 'b': 4, 'c': 3, 'd': 2, 'e': 1})
#以上其实是两种使用方法,一种是直接用,一种是实例化以后使用,如果要频繁调用的话,显然后一种更简洁

删改查

#删
tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
del tinydict['Name']  # 删除键是'Name'的条目
tinydict.clear()      # 清空字典所有条目

#改
tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
 
tinydict['Age'] = 8 # 更新
tinydict['School'] = "RUNOOB" # 添加
 
#查
tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

特殊方法

cmp(dict1, dict2) 比较两个字典元素。
len(dict) 计算字典元素个数,即键的总数。
**str(dict)**输出字典可打印的字符串表示。
**type(variable)**返回输入的变量类型,如果变量是字典就返回字典类型。

你可能感兴趣的:(python知识学习,python,学习)