python基础代码
from heapq import *;
from collections import *;
import random as rd;
import operator as op;
import re; data = [2,2,6,7,9,12,34,0,76,-12,45,79,102];
s = set(); for num in data:
s.add(data.pop(0));
if s.__len__() == 4:
break; heap = [];
for n in s:
heappush(heap,n); print(heap); for num in data:
if num > heap[0]:
heapreplace(heap,num); print(nlargest(4,heap)) def file2matrix(path,dimension):
with open(path,'r+') as fr:
lines = fr.readlines();
num_lines = len(lines);
return_mat = np.zeros((num_lines,dimension));
classLabel = []; index = 0;
for line in lines:
contents = line.strip().split(' ');
li = contents[:dimension];
li = list(map(float,li));
return_mat[index,:] = li; if(contents[-1] == 'small'):
classLabel.append(0);
elif(contents[-1] == 'middle'):
classLabel.append(1)
elif (contents[-1] == 'large'):
classLabel.append(2)
index += 1; return return_mat, classLabel; #mat,label = file2matrix('G:\\test.txt',3); import collections;
print(dir(collections)) class MyObject:
def __init__(self,score):
self.score = score; def __repr__(self):
return "MyObject(%s)" % self.score; objs = [MyObject(i) for i in range(5)];
rd.shuffle(objs);
print(objs); g = op.attrgetter("score");
scores = [g(i) for i in objs];
print("scores: ",scores);
print(sorted(objs,key = g)); l = [(i,i*-2) for i in range(4)]
print ("tuples: ", l)
g = op.itemgetter(1)
vals = [g(i) for i in l]
print ("values:", vals)
print ("sorted:", sorted(l, key=g)) class MyObj(object):
def __init__(self, val):
super(MyObj, self).__init__()
self.val = val
return def __str__(self):
return "MyObj(%s)" % self.val def __lt__(self, other):
return self.val < other.val def __add__(self, other):
return MyObj(self.val + other.val) a = MyObj(1)
b = MyObj(2) print(op.lt(a, b)) print(op.add(a, b)) items = [('A', 1),('B', 2),('C', 3)]
regular_dict = dict(items);
order_dict = OrderedDict(items);
print(regular_dict);
print(order_dict); # -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.lines import Line2D x = np.linspace(0, 10, 1000)
y = np.sin(x)
z = np.cos(x**2) fig = plt.figure(figsize=(8,4),dpi=120)
plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2)
plt.plot(x,z,"b--",label="$cos(x^2)$")
plt.xlabel("Time(s)")
plt.ylabel("Volt")
plt.title("PyPlot First Example")
plt.ylim(-1.2,1.2)
plt.legend()
#plt.show() f = plt.gcf();
all_lines = plt.getp(f.axes[0],'lines');
print(all_lines[0]) fig = plt.figure()
line1 = Line2D([0,1],[0,1], transform=fig.transFigure, figure=fig, color="r")
line2 = Line2D([0,1],[1,0], transform=fig.transFigure, figure=fig, color="g")
fig.lines.extend([line1, line2])
fig.show() def autonorm(dataSet):
minVals = dataSet.min(0);
maxVals = dataSet.max(0);
ranges = maxVals - minVals;
rows = dataSet.shape[0];
ranges = np.tile(ranges,(rows,1));
dataSet = dataSet - np.tile(minVals,(rows,1));
normData = dataSet / ranges;
return normData; def classify(inX,path,k):
#1.文件到矩阵的映射
labels,dataSet = file2matrix(path);
#2.矩阵归一化处理
dataSet = autonorm(dataSet);
#3.计算欧式距离
distance = dataSet - inX;
distance = np.square(distance);
distance = distance.sum(axis=1);
distance = np.sqrt(distance);
print(distance);
#4.对距离排序
sortdisIndices = distance.argsort();
#5.取前k个,加载到dict中,然后对dict排序,取首个值
classCount = {};
for index in range(k):
label = labels[sortdisIndices[index]];
print(label)
classCount[label] = classCount.get(label,0) + 1; sortedDict = sorted(classCount.items(),key=op.itemgetter(1),reverse=True);
return sortedDict[0][0]; def file2matrix(filepath):
with open(filepath,'r+') as fr:
lines = fr.readlines();
num_lines = len(lines);
classLabelVector = [];
dimension = len(lines[0].strip().split(" "))-1;
dataSet = np.zeros((num_lines,dimension)); index = 0;
for line in lines:
contents = line.strip().split(" ");
li = contents[:dimension];
li = list(map(float,li));
dataSet[index,:] = li; if contents[-1] == 'largeDoses':
classLabelVector.append(3);
elif contents[-1] == 'smallDoses':
classLabelVector.append(2);
elif contents[-1] == 'didntLike':
classLabelVector.append(1);
index += 1; return classLabelVector,dataSet; def main(): inX = np.array([1.2,1.0,0.8]);
label = classify(inX,"E:\\Python\\datingTestSet.txt",3);
print("class:",label); if __name__ == '__main__':
main();
python基础代码的更多相关文章
- Python基础代码1
Python基础代码 import keyword#Python中关键字 print(keyword.kwlist) ['False', 'None', 'True', 'and', 'as', 'a ...
- python基础代码(猜年龄、从最内层跳出多层循环、简单的购物车程序)
1.猜年龄 , 可以让用户最多猜三次! age = 55 i=0 while i<3: user_guess = int (input ("input your guess:" ...
- 【穿插】Python基础之文件、文件夹的创建,对上一期代码进行优化
在上一期妹子图的爬虫教程中,我们将图片都保存在了代码当前目录下,这样并不便于浏览,我们应该将同一个模特的图片都放在一个文件夹中. 今天我们就简单讲一下Python下如何创建文件.文件夹,今后就可以用上 ...
- Python基础教程2上的一处打印缺陷导致的代码不完整#1
#1对代码的完善的 出现打印代码处缺陷截图: 图片上可以看到,定义的request根本没有定义它就有了.这个是未定义的,会报错的,这本书印刷问题,这个就是个坑,我也是才发现.花了点时间脱坑. 现在发完 ...
- python基础1 - 多文件项目和代码规范
1. 多文件项目演练 开发 项目 就是开发一个 专门解决一个复杂业务功能的软件 通常每 一个项目 就具有一个 独立专属的目录,用于保存 所有和项目相关的文件 – 一个项目通常会包含 很多源文件 在 ...
- Python基础篇(三)_函数及代码复用
Python基础篇_函数及代码复用 函数的定义.使用: 函数的定义:通过保留字def实现. 定义形式:def <函数名>(<参数列表>): <函数体> return ...
- python代码注释 - python基础入门(4)
在 python改变世界,从hello world开始 中我们已经完成了第一个python程序,代码是有了,关键是好像好不知道写的啥玩意? 一.什么是代码注释 代码注释就是给一段代码加上说明,表明这段 ...
- python之最强王者(2)——python基础语法
背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...
- Python小白的发展之路之Python基础(一)
Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...
随机推荐
- js模块基础练习题
题目描述 完成函数 createModule,调用之后满足如下要求: 1.返回一个对象 2.对象的 greeting 属性值等于 str1, name 属性值等于 str2 3.对象存在一个 sayI ...
- 如何解决NoSuchMethodError
背景 工作中写单测,本来用的Mockito,但是为了mock方法里调用的其他静态方法,所以需要使用powermock,于是开始报错. 我把包引入了,然后照着网上的写单测代码,写完了之后运行.噩梦开始. ...
- js的一些较为常见的语句算法题
下面各题解法可能存在一些时间和空间复杂度问题,有些没有做到最优化,还请谅解!!! 1.用for循环实现10的阶乘. //使用for循环方法解答 var num = 10 var sum = 1; va ...
- VLC架构及流程分析
0x00 前置信息 VLC是一个非常庞大的工程,我从它的架构及流程入手进行分析,涉及到一些很细的概念先搁置一边,日后详细分析. 0x01 源码结构(Android Java相关的暂未分析) # bui ...
- oracle中的存储过程(实例一)
引子 这是测试环境存在了很久的问题.由于基础配置信息(如:代理人信息)不像生产环境有专人维护,常常会有数据过期,导致无法使用的情况. 而很多配置数据是在外围系统维护(如代理人信息,在销管系统)以往的解 ...
- vue中引入mui报Uncaught TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them的错误
在vue中引入mui的js文件的时候,报如下的错误: 那是因为我们在用webpack打包项目时默认的是严格模式,我们把严格模式去掉就ok了 第一步:npm install babel-plugin-t ...
- java使用RSA与AES加密解密
首先了解下,什么是堆成加密,什么是非对称加密? 对称加密:加密与解密的密钥是相同的,加解密速度很快,比如AES 非对称加密:加密与解密的秘钥是不同的,速度较慢,比如RSA 先看代码(先会用在研究) 相 ...
- 分布式数据库中间件、产品——sharding-jdbc、mycat、drds
一般对于业务记录类随时间会不断增加的数据,当数据量增加到一定量(一般认为整型值为主的表达到千万级,字符串为主的表达到五百万)的时候,性能将遇到瓶颈,同时调整表结构也会变得非常困难.为了避免生产遇到这样 ...
- Github 上 36 个最实用的 Vue 开源库
任何一个开发者,都是十分喜欢使用开源软件包的.因为它使开发工作变得更快速.高效.容易.如果没有开源软件包,开发工作将变得疲惫不堪,不断的重复造轮子! 下面整理了 Github 上 36 个实用的 Vu ...
- configure生成makefile的配置项说明
一般Linux软件使用configure来检测系统生成makefile文件之后可使用make来编译安装软件. configure的配置选项有哪些呢?现简单收集如下,不断更新中. 以gcc -v为例,可 ...