1、Python中numpy库unique函数
对于一维数组或者列表,unique函数去除其中重复的元素,并按元素由大到小返回一个新的无元素重复的元组或者列表。
import numpy as np
A = [1, 2, 2, 5,3, 4, 3]
a = np.unique(A)
B= (1, 2, 2,5, 3, 4, 3)
b= np.unique(B)
C= ['fgfh','asd','fgfh','asdfds','wrh']
c= np.unique(C)
print(a)
print(b)
print(c)
# 输出为 [1 2 3 4 5]
# [1 2 3 4 5]
# ['asd' 'asdfds' 'fgfh' 'wrh']
**2、python assert **
python assert 断言句语。在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件时就崩溃,需要assert断言。
代码:
lists =[1,2,3]
if __name__ == '__main__':
print("hello world")
assert len(lists) >=10,'元素个数小于5'
print("-----------")
结果如下:
3、python zip
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
lists =[10,11,7,6,9,5,4]
if __name__ == '__main__':
zip_data = zip(lists, range(0, len(lists)))
for i in zip_data:
print(i)
输出:
(10, 0)
(11, 1)
(7, 2)
(6, 3)
(9, 4)
(5, 5)
(4, 6)
如果采用dict:
lists =[10,11,7,6,9,5,4]
if __name__ == '__main__':
zip_data = zip(lists, range(0, len(lists)))
print("------dict form-------")
print(dict(zip_data))
输出:
------dict form-------
{4: 6, 5: 5, 6: 3, 7: 2, 9: 4, 10: 0, 11: 1}
4、Python enumerate() 函数
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1)) # 小标从 1 开始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
4、字符串数组转成float并保留3位小数
import numpy as np
data = ['1.04545677','2.012411','3.41521552']
data = np.around(np.array(data, dtype=float),decimals=3).tolist()
print(data)
》》[1.045, 2.012, 3.415]
5、python3 输出提示如下错误:
python3 'ascii' codec can't encode characters in position 0-2: ordinal not i
解决方案:
import sys
import codecs
sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach())
未完待续。。。