python 内置函数

1、python获取当前字符串编码格式 chardet

安装:pip install chardet

在python2中,经常会遇到编码的问题,在python中有一个包可以打印出当前字符串的编码格式,具体的如下所示

import chardet

print chardet.detect(html)

如图所示:

测出的编码是ascii,其中confidence字段为1.0,表示检测的概率是1.0(即100%)

 

2、python将列表的元素转换成字典的形式 zip

zip的使用:

网址http://www.runoob.com/python/python-func-zip.html

3、将两个列表中的元素进行一一相加

a=[1,2,3]
b=[4,5,6]
c=[a[i]+b[i] for i in range(len(a))]

如下图所示:

4、条件表达式

if x>0:
    y = math.log(x)
else:
    y = float('nan')
##等同于
y = math.log(x) if x>0 else float('nan')

5、列表推导式

[exp for item in collection if condition]

l1 = []
for i in range(1000):
    if x%2 == 0:
        l1.append(i)
##等同于
[i for i in range(1000) if i%2 == 0]

6、os.path.join()的使用

os.path.join()函数用于路径拼接文件路径
os.path.join()函数中可以传入多个路径

如下图所示:

7、counter进行计数

Counter对列表中的元素进行计数处理,并将计数出的结果进行输出显示出来

most_common对计数的结果进行捡大的输出,参数表示的是输出最大的几个

例子如下图所示:

8、map函数

map(function,sequence):将function应用到sequence上

可用于数据清洗

import math

print('示例1,获取两个列表对应位置上的最小值:')
l1 = [1, 3, 5, 20, 9]
l2 = [2, 4, 6, 8, 10]
mins = map(min, l1, l2)  ##对应位置进行比较,1vs2  3vs4  5vs6  20vs8  9vs10
print(list(mins))

# # map()函数操作时,直到访问数据时才会执行
# for item in mins:
#     print(item)

print('示例2,对列表中的元素进行平方根操作:')
squared = map(math.sqrt, l2)
print(squared)
print(list(squared))

输出结果如下所示:
示例1,获取两个列表对应位置上的最小值:
[1, 3, 5, 8, 9]
示例2,对列表中的元素进行平方根操作:
<map object at 0x0000021A12F6E908>
[1.4142135623730951, 2.0, 2.449489742783178, 2.8284271247461903, 3.1622776601683795]

9、匿名函数lambda

(1)简单的函数操作

(2)返回值func类型

(3)可结合map()完成数据清洗操作

my_func = lambda a, b, c: a * b
print(my_func)
print(my_func(1, 2, 3))

# 结合map
print('lambda结合map')
l1 = [1, 3, 5, 7, 9]
l2 = [2, 4, 6, 8, 10]
result = map(lambda x, y: x * 2 + y, l1, l2)
print(list(result))

输出的结果如下所示:
<function <lambda> at 0x0000021A12F518C8>
2
lambda结合map
[4, 10, 16, 22, 28]

10、自定义排序 sorted()

# 普通排序
a = [5, 1, 4, 3]
print(sorted(a))
print(a) 
输出结果:
[1, 3, 4, 5]
[5, 1, 4, 3]
原来的a并没有发生变化

# 字符串排序,大小写敏感
strs = ['ccx', 'aaay', 'Dz', 'Bm']
print(sorted(strs))
先将大写的字母排在前面
输出结果:
['Dz', 'Bm', 'ccx', 'aaay']

# 按照字符串长度排序
strs = ['ccx', 'aaay', 'Dz', 'Bm']
print(sorted(strs, key=len))
输出结果:
['Dz', 'Bm', 'ccx', 'aaay']

# 忽略大小写
print(sorted(strs, key=str.lower))
输出结果:
['aaay', 'Bm', 'ccx', 'Dz']

# 自定义排序函数
# 按字符串最后的字符进行排序
def last_char(s):
    return s[-1]

print(sorted(strs, key=last_char))
输出结果:
['Bm', 'ccx', 'aaay', 'Dz']

# 列表中为元组的排序
tuple_list = [('ETH', 194.78), ('BTC', 6292.56), ('EOS', 4.99)]
print(sorted(tuple_list))
输出结果:
[('BTC', 6292.56), ('EOS', 4.99), ('ETH', 194.78)]

print(sorted(tuple_list, key=lambda item: item[1]))
输出结果:
[('EOS', 4.99), ('ETH', 194.78), ('BTC', 6292.56)]

11、字典列表排序

字典不可以直接使用sorted()函数进行排序,需要使用itemgetter

from operator import itemgetter
print(sorted(coin_list, key=itemgetter('name')))

输出的结果如下所示: 
按name进行排序
[{'name': 'BTC', 'price': 6292.56}, {'name': 'EOS', 'price': 4.99}, {'name': 'ETH', 'price': 194.78}]

from operator import itemgetter
print(sorted(coin_list, key=itemgetter('price')))

输出的结果如下所示:
按price进行排序
[{'name': 'EOS', 'price': 4.99}, {'name': 'ETH', 'price': 194.78}, {'name': 'BTC', 'price': 6292.56}]

12、splitext

作用:是将文件的名字与扩展名进行分开,放在列表中

例子:

 

 

 

 

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小杨算法屋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值