python的函数

11人阅读 评论(0) 收藏 举报
分类:

python对passwd进行排序的代码

#! /usr/bin/env python
# -*- coding: utf-8 -*-
"""
-------------------------------------------------
 Time      :2018/04/10  21:28
 Author    : shanwu
 File Name :0410.py
-------------------------------------------------
"""

with open("passwd","r+") as f:
    j=sorted(f.readlines(),key=lambda i:int(i.split(":")[2]))

with open("newpasswd","w+") as w:
    w.writelines(j)

#查看newpasswd文件
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
zabbix:x:996:994:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin
polkitd:x:997:995:User for polkitd:/:/sbin/nologin
systemd-network:x:998:996:systemd Network Management:/:/sbin/nologin
systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin
nginx:x:1000:1000::/home/nginx:/sbin/nologin

高阶函数

高阶函数就是把函数当做参数传递的函数。

map()的使用

  • map()会根据提供的函数对指定序列做映射。
    第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
  • map的形式
    map(function, iterable, ...)
    function是一个函数
    iterable是一个或者多个序列(后面几个序列,前面的函数就要有几个参数传入)
  • python3返回的是一个迭代器

  • 例子

from collections import Iterable


def f(x):
    return x*x

a=map(f,[1,2,3])
print(a)
print(type(a))
print(isinstance(a,Iterable))
for i in a:
    print(i)

# 输出
<map object at 0x000001A72F20DF60>
<class 'map'>
True
1
4
9

reduce()的使用

reduce()的使用方法:reduce(f(x),Itera)。它的形式和map()函数一样。不过参数f(x)必须有两个参数。reduce()函数作用是:把结果继续和序列的下一个元素做累积计算。
- 例子

from functools import reduce

def f(x,y):
    return x*y

a=reduce(f,[1,2,3])
print(a)

#输出
6

filter()的使用

  • filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
    该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
  • filter的语法
    filter(function, iterable)
  • 参数
    function – 判断函数。
    iterable – 可迭代对象。

  • 例子

a=filter(lambda x: x % 2==0,[1,2,3,4,5,6])
for i in a:
    print(i)

# 输出
2
4
6
  • sorted()
    sorted()对所有可迭代的对象排序
  • sorted的语法
    sorted(iterable, key=None, reverse=False)
  • 参数说明:
    iterable – 可迭代对象。
    key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
    reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
  • 对字典的排序例子
l=dict(a=1,b=3,c=2)
k=sorted(l.items())
print(k)
m=sorted(l.items(),key=lambda i:int(i[1]))
print(m)

#输出
[('a', 1), ('b', 3), ('c', 2)]
[('a', 1), ('c', 2), ('b', 3)]

生成器

  • 生成式
[x*x for x in xrange(10) if x*x%2 == 0]
  • 生成器
  • 方法一:
    (exp for val in collection if condition)
  • 方法二:
    使用yield关键字,包含yield语句的函数会被特地编译成生成器。
    yield可以理解成return,但是并不退出,只是挂起,恢复的时候从yield下面开始执行。
a=(i*i for i in range(4) if i%2==0)
print(next(a))
print(next(a))
#输出
0
4
def f(x):
    for i in range(x):
        yield i

b=f(3)
print(next(b))
print(next(b))
print(next(b))
#输出
0
1
2
查看评论

机器学习-交叉验证 : python数据集划分

模型选择的两种方法:正则化(典型方法)、交叉验证。这里介绍交叉验证及其python代码实现。交叉验证如果给定样本数据充足,进行模型选择的一种简单方法是随机地将数据集切分为3部分,分为训练集、验证集和测...
  • u010707315
  • u010707315
  • 2018-04-16 10:45:22
  • 34

selenium+python爬取简书文章

页面加载逻辑当你兴致勃勃地从网上学习了基本的爬虫知识后就像找个目标实践下,拥有大量文章的简书包含了大量的有价值信息,所以自然成为了你的选择目标,如果你尝试之后会发现并没有想象的那么简单,因为里面包含了...
  • zhusongziye
  • zhusongziye
  • 2018-04-15 14:21:54
  • 6

python 函数

一,函数的定义def a(args):    pass函数代码块以def关键字开头,+ 函数名+ (参数):然后第一行内容应该缩进,然后写我们自己的代码逻辑return 关键字     代表函数执行完...
  • weixin_39318540
  • weixin_39318540
  • 2018-04-15 16:05:12
  • 9

Python_反射

''' 反射 hasattr(obj, name):判断一个对象obj里是否包含名为name的属性或方法(hasattr是通过调用getattr(object, str)是否抛出异常来实现...
  • UserPython
  • UserPython
  • 2018-04-15 21:39:24
  • 21

python递归函数

递归Recursion函数直接或者简洁调用自身就是递归递归一定要有边界条件当边界条件满足时return递归一定要有退出条件,否则是无限调用递归调用的深度不宜过深sys.getrecursionlimi...
  • tc2019
  • tc2019
  • 2018-04-16 09:12:00
  • 4

python glob

https://blog.csdn.net/u010472607/article/details/76857493http://www.cnblogs.com/lovemo1314/archive/2...
  • MiniCnCoder
  • MiniCnCoder
  • 2018-04-15 17:08:31
  • 4

Python 环境安装

1.安装 JDK2.安装 Eclipse3.安装 Python  下载Python:https://www.python.org/downloads/4.在Eclipse中安装pydev插件  启动E...
  • jason_117
  • jason_117
  • 2018-04-15 14:37:56
  • 2

pydev开发环境搭建(python)

一、安装Eclipse1、安装jdk以及配置环境变量2、下载Eclipse IDE for Java EE Developers(根据实际情况选择32位还是64位)地址 :http://www.ecl...
  • abc7845129630
  • abc7845129630
  • 2018-04-15 20:09:37
  • 30

6. Python 函数

1. 函数的写法,函数的调用【函数的一般形式】定义一个函数要有以下规则:(1)函数代码块以 def 关键词开头,后接函数标识符名称和小括号();(2)任何传入参数和自变量必须放在小括号内,小括号内可以...
  • pyo_oyp
  • pyo_oyp
  • 2018-04-15 17:27:05
  • 6

分类评价指标和回归评价指标及python实现

目录 目录 1、概念 1.1、前提 2、评价指标(性能度量) 2.1、分类评价指标 2.1.1 值指标-Accuracy、Precision、Recall、F值 2.1.2 相关曲线-...
  • qq_36962569
  • qq_36962569
  • 2018-04-15 09:32:15
  • 26
    个人资料
    等级:
    访问量: 0
    积分: 91
    排名: 0
    文章分类
    文章存档