python基础代码

  1 from heapq import *;
  2 from collections import *;
  3 import random as rd;
  4 import operator as op;
  5 import re;
  6
  7 data = [2,2,6,7,9,12,34,0,76,-12,45,79,102];
  8 s = set();
  9
 10 for num in data:
 11     s.add(data.pop(0));
 12     if s.__len__() == 4:
 13         break;
 14
 15 heap = [];
 16 for n in s:
 17     heappush(heap,n);
 18
 19 print(heap);
 20
 21
 22 for num in data:
 23     if num > heap[0]:
 24         heapreplace(heap,num);
 25
 26 print(nlargest(4,heap))
 27
 28
 29 def file2matrix(path,dimension):
 30     with open(path,‘r+‘) as fr:
 31         lines = fr.readlines();
 32         num_lines = len(lines);
 33         return_mat = np.zeros((num_lines,dimension));
 34         classLabel = [];
 35
 36     index = 0;
 37     for line in lines:
 38         contents = line.strip().split(‘ ‘);
 39         li = contents[:dimension];
 40         li = list(map(float,li));
 41         return_mat[index,:] = li;
 42
 43         if(contents[-1] == ‘small‘):
 44             classLabel.append(0);
 45         elif(contents[-1] == ‘middle‘):
 46             classLabel.append(1)
 47         elif (contents[-1] == ‘large‘):
 48             classLabel.append(2)
 49         index += 1;
 50
 51     return return_mat, classLabel;
 52
 53 #mat,label = file2matrix(‘G:\\test.txt‘,3);
 54
 55 import collections;
 56 print(dir(collections))
 57
 58 class MyObject:
 59     def __init__(self,score):
 60         self.score = score;
 61
 62     def __repr__(self):
 63         return "MyObject(%s)" % self.score;
 64
 65 objs = [MyObject(i) for i in range(5)];
 66 rd.shuffle(objs);
 67 print(objs);
 68
 69 g = op.attrgetter("score");
 70 scores = [g(i) for i in objs];
 71 print("scores: ",scores);
 72 print(sorted(objs,key = g));
 73
 74 l = [(i,i*-2) for i in range(4)]
 75 print ("tuples: ", l)
 76 g = op.itemgetter(1)
 77 vals = [g(i) for i in l]
 78 print ("values:", vals)
 79 print ("sorted:", sorted(l, key=g))
 80
 81
 82 class MyObj(object):
 83     def __init__(self, val):
 84         super(MyObj, self).__init__()
 85         self.val = val
 86         return
 87
 88     def __str__(self):
 89         return "MyObj(%s)" % self.val
 90
 91     def __lt__(self, other):
 92         return self.val < other.val
 93
 94     def __add__(self, other):
 95         return MyObj(self.val + other.val)
 96
 97
 98 a = MyObj(1)
 99 b = MyObj(2)
100
101 print(op.lt(a, b))
102
103 print(op.add(a, b))
104
105
106
107 items = [(‘A‘, 1),(‘B‘, 2),(‘C‘, 3)]
108 regular_dict = dict(items);
109 order_dict = OrderedDict(items);
110 print(regular_dict);
111 print(order_dict);
112
113
114 # -*- coding: utf-8 -*-
115 import numpy as np
116 import matplotlib.pyplot as plt
117 from matplotlib.lines import Line2D
118
119 x = np.linspace(0, 10, 1000)
120 y = np.sin(x)
121 z = np.cos(x**2)
122
123 fig = plt.figure(figsize=(8,4),dpi=120)
124 plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2)
125 plt.plot(x,z,"b--",label="$cos(x^2)$")
126 plt.xlabel("Time(s)")
127 plt.ylabel("Volt")
128 plt.title("PyPlot First Example")
129 plt.ylim(-1.2,1.2)
130 plt.legend()
131 #plt.show()
132
133
134 f = plt.gcf();
135 all_lines = plt.getp(f.axes[0],‘lines‘);
136 print(all_lines[0])
137
138 fig = plt.figure()
139 line1 = Line2D([0,1],[0,1], transform=fig.transFigure, figure=fig, color="r")
140 line2 = Line2D([0,1],[1,0], transform=fig.transFigure, figure=fig, color="g")
141 fig.lines.extend([line1, line2])
142 fig.show()
143
144 def autonorm(dataSet):
145     minVals = dataSet.min(0);
146     maxVals = dataSet.max(0);
147     ranges = maxVals - minVals;
148     rows = dataSet.shape[0];
149     ranges = np.tile(ranges,(rows,1));
150     dataSet = dataSet - np.tile(minVals,(rows,1));
151     normData = dataSet / ranges;
152     return normData;
153
154
155 def classify(inX,path,k):
156     #1.文件到矩阵的映射
157     labels,dataSet = file2matrix(path);
158     #2.矩阵归一化处理
159     dataSet = autonorm(dataSet);
160     #3.计算欧式距离
161     distance = dataSet - inX;
162     distance = np.square(distance);
163     distance = distance.sum(axis=1);
164     distance = np.sqrt(distance);
165     print(distance);
166     #4.对距离排序
167     sortdisIndices = distance.argsort();
168     #5.取前k个,加载到dict中,然后对dict排序,取首个值
169     classCount = {};
170     for index in range(k):
171         label = labels[sortdisIndices[index]];
172         print(label)
173         classCount[label] = classCount.get(label,0) + 1;
174
175     sortedDict = sorted(classCount.items(),key=op.itemgetter(1),reverse=True);
176     return sortedDict[0][0];
177
178 def file2matrix(filepath):
179     with open(filepath,‘r+‘) as fr:
180         lines = fr.readlines();
181         num_lines = len(lines);
182         classLabelVector = [];
183         dimension = len(lines[0].strip().split(" "))-1;
184         dataSet = np.zeros((num_lines,dimension));
185
186     index = 0;
187     for line in lines:
188         contents = line.strip().split(" ");
189         li = contents[:dimension];
190         li = list(map(float,li));
191         dataSet[index,:] = li;
192
193         if contents[-1] == ‘largeDoses‘:
194             classLabelVector.append(3);
195         elif contents[-1] == ‘smallDoses‘:
196             classLabelVector.append(2);
197         elif contents[-1] == ‘didntLike‘:
198             classLabelVector.append(1);
199         index += 1;
200
201     return classLabelVector,dataSet;
202
203
204
205
206 def main():
207
208     inX = np.array([1.2,1.0,0.8]);
209     label = classify(inX,"E:\\Python\\datingTestSet.txt",3);
210     print("class:",label);
211
212
213 if __name__ == ‘__main__‘:
214     main();

时间: 2024-10-03 14:55:36

python基础代码的相关文章

Python基础代码目录

sh_02_第2个Python程序 sh_03_注释 sh_04_qq号码 sh_05_超市买苹果 sh_06_个人信息 sh_07_买苹果增强版 sh_08_买苹果改进 sh_09_格式化输出 原文地址:https://www.cnblogs.com/shaohan/p/11465091.html

python基础代码小练

一.创建并输出菜单, 菜单是不可变的. 所以使用元组menus = ("1, 录入", "2, 查询", "3, 删除", "4, 修改", "5, 退出")存储用户的信息 id: {'name':'名字', 'weight':体重, 'height':身高}例如:目前有两个用户信息:1. 汪峰, 2. 章子怡存储结构:{ 1:{'name':'汪峰', 'weight':80, 'height':1.8,

python基础1 - 多文件项目和代码规范

1. 多文件项目演练 开发 项目 就是开发一个 专门解决一个复杂业务功能的软件 通常每 一个项目 就具有一个 独立专属的目录,用于保存 所有和项目相关的文件 –  一个项目通常会包含 很多源文件 在 01_Python基础 项目中新建一个 hm_02_第2个Python程序.py 在 hm_02_第2个Python程序.py 文件中添加一句 print("hello") 点击右键执行 hm_02_第2个Python程序.py 提示 在 PyCharm 中,要想让哪一个 Python 程

《Python基础教程第3版》PDF中英文+代码资料分享学习

<Python基础教程第3版>包括Python程序设计的方方面面:首先从Python的安装开始,随后介绍了Python的基础知识和基本概念,包括列表.元组.字符串.字典以及各种语句:然后循序渐进地介绍了一些相对高级的主题,包括抽象.异常.魔法方法.属性.迭代器:此后探讨了如何将Python与数据库.网络.C语言等工具结合使用,从而发挥出Python的强大功能,同时介绍了Python程序测试.打包.发布等知识:最后,作者结合前面讲述的内容,按照实际项目开发的步骤向读者介绍了10个具有实际意义的P

Python基础教程:Python学习视频Python让你敲的代码不再是造轮子

你敲的代码是在造轮子?那就学Python呗!_Python基础教程 Bruce大神说" 人生苦短,我用Python ". 从公司角度而言: 国内基于Python创业成功的案例不在少数,豆瓣.知乎.果壳,全栈都是 Python,大家对Python自然有信心.并且从这几家公司出来的程序员与 CTO,创业的话一般都会选择Python. 从开发者个人角度而言: 计算机语言只是用来达成目的工具,?各种强大的第三方库,拿来就能用才是王道,让程序替代我们执行一些枯燥繁琐的工作.?至于句式是否优美.能

linux+jmeter+python基础+抓包拦截

LINUX 一 配置jdk 环境 *需要获取root权限,或者切换为root用户 1.windows下载好,去 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 官方网站下载jdk(linux相应版本) 2.在usr目录下创建java路径文件夹 [root bin]cd /usr mkdir java 3.将jdk-8u60-linux-x64.tar.gz放到刚才创建的文件夹下

Python基础教程(第九章 魔法方法、属性和迭代器)

本文内容全部出自<Python基础教程>第二版,在此分享自己的学习之路. ______欢迎转载:http://www.cnblogs.com/Marlowes/p/5437223.html______ Created on Marlowes 在Python中,有的名称会在前面和后面都加上两个下划线,这种写法很特别.前面几章中已经出现过一些这样的名称(如__future__),这种拼写表示名字有特殊含义,所以绝不要在自己的程序中使用这样的名字.在Python中,由这些名字组成的集合所包含的方法称

Python基础入门 (一)

一.关于版本的选择 Should i use Python 2 or Python 3 for my development activity?转载自Python官网 Short version: Python 2.x is legacy, Python 3.x is the present and future of the language Python 3.0 was released in 2008. The final 2.x version 2.7 release came out

python基础周作业

python基础周作业 1.执行python脚本的两种方法 脚本前面直接指定解释器 在脚本开始前声明解释器 2.简述位,字节的关系 每一个字节占用八个比特位 3, 简述ascii.unicode.utf- ‐8.gbk的关系 utf--‐8 <-- unicode <-- gbk <-- ascii 按此方向兼容 4..请写出"李杰"分别用utf- ‐8和gbk编码所占的位数 "李杰" 占用utf -8 占6字节 , gbk 占用4字节 5.pyt