Python五(集合&冻集&高级特性&高阶函数)

这篇博客主要介绍了Python中的集合、冻集概念及操作,包括集合的关系测试和增删改查。还探讨了Python的高级特性,如切片、迭代、列表生成式和生成器的使用。此外,讲解了Python内置的高阶函数map、reduce、filter和sorted。最后,提供了课后练习,涉及阶乘末尾0的个数计算和数串排列问题。
摘要由CSDN通过智能技术生成

复习:

1.删除列表中重复的元素:l = [1,2,3,1,2,3]

法一:
    强制转化列表为集合类型:list(set(l))

这里写图片描述

法二:
    将列表转化为字典,拿出里面的所有key值: dict.fromkeys(l).keys()

In [6]: l=[1,2,3,1,2,3]

In [7]: type(l)
Out[7]: list

In [8]: dict.fromkeys(l)           ##直接使用内置函数会默认将value设置为None
Out[8]: {
  1: None, 2: None, 3: None}

In [9]: dict.fromkeys(l).keys()    ##加上.keys()的方法则只显示keys
Out[9]: [1, 2, 3]

2.实现switch的两种方法:

法一:
    通过:if...elif...else...的判断语句实现
举例:
#!/usr/bin/env python
#coding:utf-8
"""
file:ifelifelse.py
date:9/4/178:00 PM
author:hx
desc:if...elif...else...实现switch语句
"""
def add(x,y):
    return x+y
def cut(x,y):
    return x-y
def multi(x,y):
    return x*y
def div(x,y):
    return x/y

x=input("x:")
oper=raw_input("oper:")
y=input("y:")

if oper=="+":
    print add(x,y)
elif oper=="-":
    print cut(x,y)
elif oper=="*":
    print multi(x,y)
elif oper=="/":
    print div(x,y)
else:
    print "error"

运行结果:
/usr/bin/python2.7 /root/PycharmProjects/PyProjectV3/ifelifelse.py
x:1
oper:+
y:2
3

Process finished with exit code 0


法二:
    通过字典实现: d= {
  "key":func}     
举例:
In [11]: from __future__ import division

In [12]: def add(x,y):
   ....:     return x+y
   ....: 

In [13]: def cut(x,y):
    return x-y
   ....: 

In [14]: def multi(x,y):
    return x*y
   ....: 

In [15]: def div(x,y):
    return x/y
   ....: 

In [16]: oper={
  '+':add,'-':cut,'*':multi,'/':div}

In [17]: print op
open  oper  

In [17]: print oper['+'](1,2)
3

In [18]: print add(1,2)
3

一、集合

这里写图片描述

1. 集合的引入:

概念:集合具有交,并,差和对等差分的运算,可以解决生活中的许多实际问题
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值