0、内置函数汇总:

python实现isodata算法 python的isodd函数_python

  • 1、dir()  ----- 打印系统变量:
print(dir())   ----- 结果:['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'names']

一、常见的系统函数 :

  •                  注意 :(1) sorted():① 结果是列表,就算迭代对象是  str 也会转换为 list 数据,迭代对象中必须是相同
  •                                                                   类型的数据。
  •                                                              ② 返回值是 排序结果 , 原列表数据不变(list内置方法 list.sort()会改变原列表的
  •                                                                   结构)
  •                                                              ③ sort() 还有 key 这个形参选项 , 用于 控制 sort 的排序规则 
str1 = 'abcdwddefghijk'
print(sorted(str1,reverse = False))--------['a', 'b', 'c', 'd', 'd', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'w']   按照asicll码
==========================================  key 的用法 ==========================
list1 = [[4,39,20],[89,0,5],[1,100,47],[5,7,0]]
print(sorted(list1))    --------- 默认以二维列表 第一个值 从小到大 排序
----------------------------------------
list1 = [[4,39,20],[89,0,5],[1,100,47],[5,7,0]]
print(sorted(list1,key= lambda x:sum(x))) 
                            理解: ---- key= 用函数定义规则 ; x ---- 每次传入序列list1的每一个元素
======================== 利用 sorted()通过字典的value 排序 =================
dict1 = {
    '张三':{'Math':80,'Eng':90},
    '李四':{'Math':89,'Eng':45},
    '王五':{'Math':70,'Eng':100}
}
result = sorted(dict1)     --------- sorted()有返回值
print(result)              --------- ['张三', '李四', '王五'] 默认排序键
print(sorted(dict1.items(),key= lambda x:x[1]['Math']))  -------- 通过key排序 .items()
print(dict(sorted(dict1.items(),key= lambda x:x[1]['Math'])))  -------- 将排序后的 items()转化为字典
print(dict(sorted(dict1.items(),key= lambda x:x[1]['Math'],reverse=True)))  ----反向排序
  •                              (2)round():四舍六入五成双
float1 = 3.456655
print(round(float1,4))        3.4567 四舍六入五成双。区别于 int(89.9999) >>> 89
======================================================================================
print(round(2.4))   ----------------不写保留尾数时,默认小数位为 0
============================ 四舍六入,五成双(判断前面的是数奇数则进 1,偶数则 舍弃)
print(round(1.5))    ----- 结果:2
print(round(2.5))    ----- 结果:2
print(round(3.5))    ----- 结果:4
print(round(4.5))    ----- 结果:4

                                 

二、len()函数

              用法:len(iter)               求取可迭代对象的长度。

print(len('abc'))   # 结果  3

三、强制转化数据类型:

                          str(),int(),float(),list(),tuple(),

                  str():几乎可以转化所有数据,为了能print()到前台上,用的时候用eval()取出数据。 

                  int():完整语法         int(x,y)x为  参数,y为   进制数 ,默认为是10,如下:

                                (1)int 可以转化其他  进制数(需要是字符串形式)为十进制数。

                                (2)int 可以将str整数转化为int整数,不能转化str浮点数。

                                (3)int 可以转化 float,不会四舍五入,区别于系统函数 round()。

print(int('123'))
print(int('123.11'))          #会报错,int 必须是整型
print(int('10',8))          #结果  8  (8进制10转换)
print(int(10,8))            #       报错
print(int(123.78))         #结果 123 不会四舍五入
print(float('111.444'))        #  结果  111.444
print(float(100))           # 结果 100.0 默认一位

                 list() 参数是 可迭代对象 ,如果是    str           》》》          通过for循环字符串每个字符放入列表。

set 与 list可以相互转化。

                 tuple() 类似list(),列表 与 元组 可以相互转化。

四、查看数据的类型:type()

str1 = 'abc'
list1 =[1,2,3,]
print(type(str1),type(list1))

五、in 的用法:

bool值,常用于if、while等语句中

          可用于str、list、tuple、dict(默认是字典的 key )等。

六、取可迭代对象最大值最小值,min、max:

相同类型的数据。

           1、大小判断是以ascll码排列判断。

            2、列表之间比较大小是根据第一个元素。

            3、可迭代对象包含多种数据类型报错。


python实现isodata算法 python的isodd函数_迭代_02

            4、

七、del 用法,注意与clear区别:

             1、可以用于 str、list 指定索引删除 或 全部删除,删除后不可访问,不同于clear,注意clear清空  可变数据的特性

             2、可以用于dict 指定 key删除 或全部删除。

             3、删除一个变量 

tuple1 = (1,2,3,4)
del tuple1

八、查看数据内存地址id():

a = 1
print(id(a),id(1))  # 结果  1512792224 1512792224

九、绝对值函数abs():

a = -1
print(a,abs(a))     #  -1 1

十、判断数据类型(isinstance(数据,float/int/list):

                      判断数据类型,类似type()

print(isinstance(5 ,float))
print(isinstance(5 ,int))
print(isinstance(5.0 ,int))
print(isinstance(5.0 ,float))
print(isinstance((6 * 5 /4) ,float))   #  True
print(6 * 5 /4 * 10) # # 答案:75.0   一但运算中有浮点数,结果将转化为浮点数,默认一位小数。

十一、编码(.encode())解码(.decode()):

a = 'liu'
print(a.encode('utf-8'))
b = a.encode('utf-8')
print(b.decode())

十二、zip 解压函数:

lis = zip([1,2,3],['a','b','c'])   >>>>>>>>>>>  得到是一个zip对象
print(dict(lis))   --------- 结果:{1: 'a', 2: 'b', 3: 'c'}

十三、range() 序列函数:

  •            特点: ① 有三个参数,start end step 
  •                        ②  区间 前闭后开
  •                        ③  range() 是一个迭代器对象,可以用list 转化或for 循环遍历(只能遍历一次)

           range():   ------------------- 第四节

print(list(range(0,80,4)))
=================================================================
for once in range(1,80):      ----------- 默认步长为1,且取不到80,取(1-79)
    print("重复打印%d次" %once)

十四、enumerate 枚举函数:

  •            特点:类似 dict 的内置方法       --------------  dict.items()

             ---------- 第二节