Python手记(二)
1.map函数
map函数用于将指定的数据成员都使用指定函数进行处理。
比如:
map(float, arr)
map(square, arr)
这两个函数分别将arr中成员转换为float类型,以及对于arr中成员求平方。
还可以通过lamba函数来进行指定匿名函数:
map(lambda x: x ** 2, [1, 2, 3, 4, 5])
map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
但是注意map函数在python2中返回的是List(原生数组),但是在python3中返回的则是一个迭代器。对于迭代器只能使用for语句进行迭代获取:
1 arr = [1,2,3,4,5]
2 arr = map(square, arr)
3 print(arr)
4 for item in arr:
5 print(item)
>><map object at 0x000000000A396278>
>>1 4 9 16 25
2 frozenset的强大
class treeNode:
def __init__(self, nameValue, numOccur, parentNode):
self.name = nameValue
self.count = numOccur
self.parent = parentNode # 上级树信息
self.children = {} # 下级(树枝)树信息
self.nodeLink = None
def inc(self, numOccur):
self.count += numOccur def disp(self, ind=1):
print (' '*ind, "name: %s, count: %d" %(self.name, self.count))
for child in self.children.values():
child.disp(ind + 1)
元素:z没有在树中...为树创建子节点: None
可以这么讲:disp正确的用法不是在print里面,而是应该单独使用。
[0, 2, 4, 6, 8]
[9, 8, 7, 6]
import os, sys
sys.path.append(os.path.abspath("."))
这里又要给概念,就是包(文件夹),模块(py文件),类(py文件中当以的代码段,通过class关键声明包裹)三者关系。
这里有一个概念要澄清一下,模块其实就相当于Java里面的全局static类,如果里面有变量的话是共享的;如果你需要具有一定的封装性,希望调用方有自己的处理单元,需要定义一个类,因为是通过new获取的处理单元,所以不会有数据共享的问题。
import sklearn
a=sklearn.datasets.load_digits()
将会报错:AttributeError: module 'sklearn' has no attribute 'datasets'
这个是因为如果跟代码跟进sklearn,起始对应的是sklearn包下面的__init__.py文件,这个import是不允许的。
但是在单步执行的情况下,只有一个地方曾经执行过"import sklearn.datasets",那么这个地方就不会报错;因为在IPython机制下,代码是整个执行过程共享的;需要通过“ctrl+Z”退出当前环境,从新敲“python”进入到IPython的环境,再来执行才会继续报错。
Python手记(二)的更多相关文章
- Python 基础 二
Python 基础 二 今天对昨天学习的Python基础知识进行总结,学而不思则惘,思而不学则殆! 一.先对昨天学习的三大循环的使用情况进行总结: 1.while循环的本质就是让计算机在满足某一条件的 ...
- 初学Python(二)——数组
初学Python(二)——数组 初学Python,主要整理一些学习到的知识点,这次是数组. # -*- coding:utf-8 -*- list = [2.0,3.0,4.0] #计算list长度 ...
- Python学习二:词典基础详解
作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...
- 有关python下二维码识别用法及识别率对比分析
最近项目中用到二维码图片识别,在python下二维码识别,目前主要有三个模块:zbar .zbarlight.zxing. 1.三个模块的用法: #-*-coding=utf-8-*- import ...
- PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。
Python 练习 标签: Python Python练习题 Python知识点 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数,如果大于预设的 ...
- 从Scratch到Python——Python生成二维码
# Python利用pyqrcode模块生成二维码 import pyqrcode import sys number = pyqrcode.create('从Scratch到Python--Pyth ...
- 用python生成二维码
Python生成二维码,可以使用qrcode模块, github地址 我是搬运工 首先安装, 因为打算生成好再展示出来,所以用到Pillow模块 pip install qrcode pip inst ...
- Python 实现二维码生成和识别
今天突然想给自己自己做个头像,然后还是二维码的形式,这样只要扫一扫就可以访问我的主页.然后就开始自己的苦逼之路... 其实实现二维码java,c#,C++等都可以实现:由于自己正在学python,所以 ...
- Python - 模块(二)
目录 Python - 模块(二) re re下面的方法 logging os Python - 模块(二) re re模块提供了正则表达式的相关操作 主要字符介绍: . 通配符,除了换行符之外的任意 ...
- 使用 Python 生成二维码
在“一带一路”国际合作高峰论坛举行期间, 20 国青年投票选出中国的“新四大发明”:高铁.扫码支付.共享单车和网购.其中扫码支付指手机通过扫描二维码跳转到支付页面,再进行付款.这种新的支付方式,造就二 ...
随机推荐
- Qt5OpenGL.术语01
来自:QT 5.4+ OpenGL编程 - brain2004的专栏 - CSDN博客.html(https://blog.csdn.net/brain2004/article/details/707 ...
- caffe-windows画loss与accuracy曲线
参考博客: http://blog.csdn.net/sunshine_in_moon/article/details/53541573 进入tools/extra/文件夹中,修改plot_train ...
- 修改PL/ORACLE字符编码集
一.pl/sql developer 中文字段显示乱码 原因:因为数据库的编号格式和pl /sql developer的编码格式不统一造成的. 二.查看和修改oracle数据库字符集: select ...
- node常用模块---path
path---用来提供文件路径和文件之间的处理的函数 node常用模块之path
- vim 插件 -- ctags
vim ctags 插件实现代码跳转的功能.希望在一个项目中快速的找到函数,变量,宏等定义的地方. 下载 http://ctags.sourceforge.net/ 安装 tar -jxvf ctag ...
- trap(陷井)
if True: x = 15 print(x)print(x) # 可见 if 语句,不是一个代码块,因为代码块有独立的作用域,代码块结束时,会释放变量 l1 = [1,2,3,4]print(id ...
- 匿名函数lambda及面试题三道
# 函数名 = lambda 参数 :返回值. 匿名函数只是函数,如果要通过可迭代对象给匿名函数传参,就需要使用 map 或者 filter calc = lambda n:n**n calc(1)c ...
- 50个常用的Linux命令(二)sed
[root@localhost cee]# echo this thisthisthis |sed 's/this/THIS/g'THIS THISTHISTHIS[root@localhost ce ...
- js带“.”的对象属性名怎么使用
问题:这样的json对象(event) { "title": "title", "alert":"ding", &quo ...
- Java学习笔记42(数据库连接池 druid连接池)
druid连接池: 是阿里的连接池,druid的稳定性及效率都很高,目前用的比较广,所以建议开发过程中尽量用druid连接池(支持国产最重要) druid连接池也需要配置文件,配置文件必须是prope ...