0%

Python的一些小收获点

Python这个语言在语法上,数据结构上提供了很多遍历,使得开发代码量上了很多。

每次看别人的Python代码总能学到一些新的用法,以下几个小收获记录下来,算是一点总结:

1,tuple

1
2
3
x = 'wangliang'
y = tuple(x) #这样可以得到字符级的tuple
z = set(x) #这样可以得到一个字符集合

2,zip函数可以把两个序列,按位置先后,两两组成一个tuple pair,很方便形成dict

1
2
3
4
x = 'wangliang'
y = dict(zip(x, range(10))) #y 就是一个 {ch, idx}的dict
s = list(zip(x, range(10))) #s 是一个(ch, idx)的list
a,b = zip(*s) #通过这样的方式,还能把含有tuple的list拆成两个tuple

3,sorted函数可以对序列类型进行排序

4,dict按值排序

1
2
3
4
#https://stackoverflow.com/questions/613183/how-do-i-sort-a-dictionary-by-value
import operator
x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}
sorted_x = sorted(x.items(), key=operator.itemgetter(1))

这些方便的数据处理方式,可以应用到机器学习的数据预处理上。机器学习模型部分实现代码量不大,而且有很多框架可以直接调用。但是数据预处理部分就要自己来了。

提到ML,很郁闷。最近一直在看NLP,但是发现看论文好难找到通透的感觉,而且数学基础不够,也导致问题多多。这个会不会又是一个大坑呢。反正,在不为钱发愁的情况,尽量做自己能做且喜欢的事情吧。