对于一个元组如: >>> s1 = ('Jim', 21, 'boy', '5788236@qq.com') 我们要得到该对象的名字,年龄,性别及邮箱的方法为s1[0],s1[1],s1[2],s1[3].那么如果程序中充斥了大量的这种没有意义的索引数字,则会影响代码的可读性.所以考虑几种方法来解决这个问题: >>> NAME = 0 >>> AGE = 1 >>> SEX = 2 >>> EMAIL = 3# 或者…
在这个问题中,我们期望得到的结果是找到这三轮比赛中,每轮都进球的球员都有谁.下面用python来模拟一下,先生成一批数据: >>> from random import randint, sample >>> # sample是取样的意思,例如sample('abcde', 2),会在'abcde'这个字符串中随机抽样2个字符出来 >>> {x: randint(1,3) for x in sample('abcdef', randint(3, 6))…
python的字典是一个非常方便的数据结构,使用它我们可以轻易的根据姓名(键)来找到他的成绩,排名等(值),而不用去遍历整个数据集. 例如:{'Lee': [1, 100], 'Jane': [2, 98]...} 但是在使用字典的过程中产生了一些问题,那就是,字典本身是不管你录入的顺序的 >>> d = {} >>> d['Lee'] = [1, 100]>>> d['Jane'] = [2, 98] >>> d['Tom']=[3…
假如有学生成绩以字典顺序排列:{'Tom': 87, 'Jack': 90, 'Rose': 100.....} 想要根据学生的成绩来进行排序,可以考虑使用sorted函数.但是sorted函数用在字典中,是仅对字典的键进行排序的,而不考虑值. 那么我们可以通过zip函数,将字典转化为一个元组: >>> from random import randint >>> s = {x: randint(60, 100) for x in 'abcdef'} {'a': 72,…
现有列表如下: [6, 7, 5, 9, 4, 1, 8, 6, 2, 9] 希望统计各个元素出现的次数,可以看作一个词频统计的问题. 我们希望最终得到一个这样的结果:{6:2, 7:1...}即 {某个元素:出现的次数...} 首先要将这些元素作为字典的键,建立一个初值为空的字典: >>> from random import randint >>> l = [randint(1,10) for x in xrange(10)] >>> l [6,…
collections模块中的deque对象是一个队列,它有着正常队列的先进先出原则.我们可以利用这个对象来实现数据的保存功能. 例如,现有一个猜数字大小的游戏,系统开始会随机roll点一个0-100的整数,然后键盘开始接收你的输入,每次输入的数字系统会告诉你比这个随机数大还是小,直到你猜对了程序才会结束.如下图这样: 代码见: from collections import deque from random import randint N = randint(0, 100) history…
列表,字典,集合中根据条件筛选数据,如下所示 列表:[-10,2,2,3,-2,7,6,9] 找出所有的非负数 字典:{1:90,2:55,3:87...} 找出所有值大于60的键值对 集合:{2,3,8,6,7,5} 找出所有被3整除的数 列表 >>> from random import randint >>> data = [randint(-10,10) for x in xrange(10)] >>> data [-1, 8, -9, 9,…
本来应该上周更新的,结果碰上五一,懒癌发作,就推迟了 = =.以后还是要按时完成任务.废话不多说,第四章-第六章主要讲了三个内容:键值对.数据读取与保存与Spark的两个共享特性(累加器和广播变量). 键值对(PaiRDD) 1.创建 #在Python中使用第一个单词作为键创建一个pairRDD,使用map()函数 pairs = lines.map(lambda x:(x.split(" ")[0],x)) 2.转化(Transformation) 转化操作很多,有reduceByK…
1.列表 ①列表的创建: ②列表的查询(索引): ③列表的切片操作: 此处要注意到:返回索引0到3的元素,顾头不顾尾. ④列表的增加: s.append()  #直接在结尾追加 s.insert()  #在指定列表索引值的位置,插入指定元素,例如: ⑤列表的删除: s.remove():删除从左找到的第一个指定元素 s.pop():删除最后一个元素,并返回最后一个元素的值 del s[]:用python全局的删除方法删除指定元素 注意:del s[1:6]是删除多个元素 ⑥列表的循环操作: ⑦列…
面向对象的编程: 类和对象是面向对象编程的两个主要方面.类创建一个新类型,而对象是这个类的实例.对象可以使用普通的属于对象的变量存储数据.属于一个对象或类的变量被称为域.对象也可以使用属于类的函数来具有功能.这样的函数被称为类的方法.这些术语帮助我们把它们与孤立的函数和变量区分开来.域和方法可以合称为类的属性. 域有两种类型--属于每个实例/类的对象或属于类的本身.分别是实例变量和类变量. self 类的方法与普通函数只有一个区别--它们必须有一个额外的第一个参数名称,但是调用这个方法的时候你不…