Python 常用函数介绍及备忘

本文介绍了Python编程中的几个实用技巧,包括如何使用list.count()方法计数元素出现次数、创建有序字典(OrderedDict)、利用enumerate()函数进行带索引的遍历、使用numpy.argmax()获取数组最大值的索引、通过numpy的row_stack()和column_stack()方法添加行和列,以及sort()和sorted()函数的区别。此外,还讲解了dict.get()方法的用法。

作为个人的备忘记录,所以持续更新中ing

1.count

统计list中某个元素的个数,listobj.count(cntobj)

 

l = [1,1,2,2,3,3]

l.count(1)
2


2.OrderedDict

 

有序的字典,会记住(key,value)加入字典的顺序,打印或读取的时候按加入顺序操作

 

from collections import OrderedDict

ordct = OrderedDict()

for i in range(5):
    ordct[i] = i

for k,v in ordct.items():
    print(k,v)
0 0
1 1
2 2
3 3
4 4

 

 

3.enumerate

对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值

l_tmp = ["这", "是", "一个", "测试"]
for i,j in enumerate(l_tmp):
    print(i,j)
# list(enumerate(l_tmp))
# [(0, '这'), (1, '是'), (2, '一个'), (3, '测试')]
0 这
1 是
2 一个
3 测试

 


4.numpy.argmax    
返回一个array最大元素的一维下标
numpy.unravel_index
将一个array的一维下标按照给定维度转化成一个给定维度的下标

 

 

 

 

 

import numpy
a = numpy.array(range(8))

a
Out[3]: array([0, 1, 2, 3, 4, 5, 6, 7])

a = a.reshape(2,4)

a
Out[5]: 
array([[0, 1, 2, 3],
       [4, 5, 6, 7]])

maxIndexTuple = numpy.unravel_index(numpy.argmax(a), a.shape)

maxIndexTuple
Out[7]: (1, 3)


5.numpy.row_stack and numpy.column_stack
   numpy.row_stack((mat,a))
其中a是要加入的行序列
numpy.column_stack((mat,a))
其中a是要加入的列序列

 

 

import numpy

a = numpy.array(range(8)).reshape(2,4)

a
Out[24]: 
array([[0, 1, 2, 3],
       [4, 5, 6, 7]])
a = numpy.column_stack((a,b))

a
Out[28]: 
array([[0, 1, 2, 3, 0],
       [4, 5, 6, 7, 1]])

b = numpy.array(range(5))

b
Out[30]: array([0, 1, 2, 3, 4])

a = numpy.row_stack((a,b))

a
Out[33]: 
array([[0, 1, 2, 3, 0],
       [4, 5, 6, 7, 1],
       [0, 1, 2, 3, 4]])

 

6.sort 和 sorted

 

list.sort()只用于list的排序,且是原列表的就地排序不会产生新的list

 

a = [3,1,5,4]

a.sort()

a
Out[33]: [1, 3, 4, 5]

sorted 可以处理任何可迭代的对象

 

sorted(iterable, key=None, reverse=False)

-iterable :可迭代对象

-key: 排序的比较函数

-reverse: False(升序),True(降序)

 

a = {3:'J',1:'a',5:'c',4:'k'}

b = sorted(a.items(),key=lambda i:i[0],reverse=False)

b
Out[18]: [(1, 'a'), (3, 'J'), (4, 'k'), (5, 'c')]

 

 

 

 

7. dict.get

 

如同通过字典的key来获取字典的值一样,

不同的是通过get来获取在key不存在的时候不会报错,

可以指定key值不存在的默认返回值。

 

a = {3:'J',1:'a',5:'c',4:'k'}

a.get(3,-1)
Out[14]: 'J'

a.get(0,-1)
Out[15]: -1

 

 

 

 

 


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值