python中函数用法

  1. unique()
  2.  numpy.tolist()
  3. collections.defaultdict()

 

1、  unique():返回参数数组中所有不同的值,并按照从小到大排序

  可选参数:

  return_index=True: 返回新列表中的每个元素在原列表中第一次出现的索引值,因此元素个数与新列表中元素个数一样;

  return_inverse=True:返回原列表中的每个元素在新列表中出现的索引值,因此元素个数与原列表中元素个数一样。

 1 #一、元素为数值型数据
 2  
 3 import numpy as np  
 4  
 5 A = [1, 2, 5, 3, 4, 3]
 6 print ("原列表:", A)
 7 print ("================") 
 8  
 9 #返回任意的一个参数值
10 a = np.unique(A)
11 print ("新列表:", a)  
12 print ("================") 
13  
14 #返回任意的两个参数值
15 a, s = np.unique(A, return_index=True)
16 print ("新列表:",a) 
17 print ("return_index:",s) 
18 print ("===============") 
19  
20 #返回全部三个参数值
21 a, s, p = np.unique(A, return_index=True, return_inverse=True)
22 print ("新列表:",a)  
23 print ("return_index", s) 
24 print ("return_inverse", p)
View Code

 

2、numpy tolist()将数组或者矩阵转换成列表;但是当矩阵是一维的时候,就不同了,所以一维矩阵经常会有tolist()[0]

 1 >>> from numpy import *
 2 >>> a1 = [[1,2,3],[4,5,6]] # a1是列表
 3 >>> a2 = array(a1) # 列表——>数组
 4 >>> a2
 5 array([[1, 2, 3],
 6        [4, 5, 6]])
 7 >>> a3 = mat(a1) # 列表——>矩阵
 8 >>> a3
 9 matrix([[1, 2, 3],
10         [4, 5, 6]])
11 >>> a4 = a2.tolist()  # 数组——>列表
12 >>> a4
13 [[1, 2, 3], [4, 5, 6]]
14 >>> a5 = a3.tolist()  # 矩阵——>列表
15 >>> a5
16 [[1, 2, 3], [4, 5, 6]]
17 >>> a4 == a5 
18 True
19 >>> a6 = mat(a2)   # 数组--> 矩阵
20 >>> a6
21 matrix([[1, 2, 3],
22         [4, 5, 6]])
23 >>> a6 == a3
24 matrix([[ True,  True,  True],
25         [ True,  True,  True]], dtype=bool)
26 >>> a7 = array(a3)  # 矩阵--> 数组 
27 >>> a7
28 array([[1, 2, 3],
29        [4, 5, 6]])
30 >>> a7 == a2
31 array([[ True,  True,  True],
32        [ True,  True,  True]], dtype=bool)
View Code

当矩阵是一维的时候,就不同了,所以一维矩阵经常会有tolist()[0]

 1 >>> a1 =[1,2,3,4,5,6] # 列表
 2 >>> a2 = array(a1)   # 列表 --> 数组 
 3 >>> a2
 4 array([1, 2, 3, 4, 5, 6])
 5 >>> a3 = mat(a1)      #列表 ----> 矩阵
 6 >>> a3
 7 matrix([[1, 2, 3, 4, 5, 6]])
 8 >>> a4 = a3.tolist()   #矩阵 ---> 列表
 9 >>> a4
10 [[1, 2, 3, 4, 5, 6]]  # 注意!!有不同  
11 >>> a1 == a4
12 False
13 >>> a8 = a3.tolist()[0]   #矩阵 ---> 列表  
14 >>> a8
15 [1, 2, 3, 4, 5, 6]  # 注意!!有不同 
16 >>> a1 == a8
17 True
18 >>> a5 = a2.tolist()   # 数组 ---> 列表
19 >>> a5
20 [1, 2, 3, 4, 5, 6]
21 >>> a5 == a1
22 True
23 >>> a6 = mat(a2)   # 数组 ---> 矩阵  
24 >>> a6
25 matrix([[1, 2, 3, 4, 5, 6]])
26 >>> a6 == a3
27 matrix([[ True,  True,  True,  True,  True,  True]], dtype=bool)
28 >>> a7 = array(a3)  # 矩阵 ---> 数组 
29 >>> a7
30 array([[1, 2, 3, 4, 5, 6]])
31 >>> a7 == a2
32 array([[ True,  True,  True,  True,  True,  True]], dtype=bool)
View Code

 

 

3、Python中通过Key访问字典,当Key不存在时,会引发‘KeyError’异常。为了避免这种情况的发生,可以使用collections类中的defaultdict()方法来为字典提供默认值。

(1)使用list作第一个参数,可以很容易将键-值对序列转换为列表字典。

(2)defaultdict还可以被用来计数,将default_factory设为int即可。 

(3)default_factory设为set时,可以用defaultdict建立集合字典(a dictionary of sets)。

转载于:https://www.cnblogs.com/spp666/p/11551138.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值