(一)列表生成式

练习一:编写名为collatz(number)的函数;实现的功能:参数为偶数时,打印number// 2;参数为奇数时,打印3*number + 1

解析:

number = int(raw_input("please input integer:"))

print number // 2 if number % 2 == 0 else number * 3 +1

练习二:使用for循环,对列表元素的类型进行更改

解析:

s = '51 5000 10000'

k,a,b = [int(i)  for i in s.split(" ")]     ## 使用空格进行分割

print a,b,c

练习三: 找出1-10之间的所有偶数,并且返回一个列表(包含以这个偶数为半径的圆的面积)

        找出1-10之间的所有奇数,并且返回一个列表(转换奇数为字符串)

解析:

import math

li = [math.pi * r*r  for r in range(2,11,2)]

li1 = [str(i) for i in range(1,10,2)]

print li,li1

练习四:找出1-100之间的所有质数

解析: 首先定义一个判断质数的函数;返回0代表不是素数,返回1代表时素数

def isPrime(num):

for i in range(2,num):

if number % i == 0:

return 0

else:

return 1

li = [i for i in range(1,101) of isPrime(i)]

print li

(二)字典生成式

练习一: 假设有20个学生,成绩在60-100之间,筛选出成绩在90分以上的学生

解析: 随机生成60-100之间的学生和成绩;然后在生成的字典中选择输出

import random

stuInfo = {'student' + str(i):random.randint(60,100) for i in range(20)}

print {name:score for  name,score in stuInfo.items()  if score > 90}

练习二: 将字典中的key值和value值调换

解析:

d = {'a':1,'b':2,'c':3}

print {v:k for k,v  in  d.items()}

print {k:k.upper() for k,v in d.items()}

练习三:大小写合并,Key值最终全部为小写

解析:

d = {'a':1,'b':2,'c':3,'A':5}

print {k.lower():d.get(k.upper(),0)+d.get(k.lower(),0) for k,v in d.items()}

Python中列表生成式和字典生成式练习的更多相关文章

  1. Python中列表(list)、字典(dict)排序的程序

    Python3 中的排序,在 Sorting HOW TO 中已经讲得很清楚了.来个实际的例子,对下面的这个 list 依据创建时间排序: pages = [{'title': '十年学会程序设计', ...

  2. python中列表排序,字典排序,列表中的字典排序

    #-*- encoding=utf-8 -*- # python3代码 import operator 一. 按字典值排序(默认为升序) x = {1:2, 3:4, 4:3, 2:1, 0:0} 1 ...

  3. python中列表生成式

    1.简介 列表生成式即List Comprehensions,是Python中用于创建list的生成式. 2.示例 [表达式  循环体  条件语句] #!/usr/bin/env python # - ...

  4. day19-1 迭代器,三元表达式,列表推导式,字典生成式,

    目录 迭代器 可迭代对象 迭代器对象 总结 三元表达式(三目表达式) 列表推导式 字典生成式 迭代器 可迭代对象 拥有iter方法的对象就是可迭代对象 # 以下都是可迭代的对象 st = '123'. ...

  5. Python中列表,元组,字典,集合的区别

    参考文档https://blog.csdn.net/Yeoman92/article/details/56289287 理解Python中列表,元组,字典,集合的区别 列表,元组,字典,集合的区别是p ...

  6. python中列表和元组以及字符串的操作

    python中列表是非常好用的.不过有一些使用小细节还需要注意一下. tag[32:-4] 从index为32到tag的倒数第4个字符. 如果索引为32的值在倒数第4个字符的右边,那么将输出为空.只要 ...

  7. python 将列表里的字典元素合并为一个字典

    python 将列表里的字典元素合并为一个字典 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn. ...

  8. python中列表元素连接方法join用法实例

    python中列表元素连接方法join用法实例 这篇文章主要介绍了python中列表元素连接方法join用法,实例分析了Python中join方法的使用技巧,非常具有实用价值,分享给大家供大家参考. ...

  9. 对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解

    引用:https://www.jb51.net/article/142775.htm 列表赋值: 1 2 3 4 5 6 7 >>> a = [1, 2, 3] >>&g ...

随机推荐

  1. [Deep Learning]任意层cnn的matlab版本实现

    之前实现了一层的卷积神经网络,又实现了两层的卷积神经网络,接下来把cnn扩展到任意层就不难了. 这难道就是传说中的“道生一,一生二,二生三,三生万物”么?=.= 代码还是在github上. 比较有趣的 ...

  2. CentOS 6.3编译安装LAMP环境笔记

    转载地址:http://www.jb51.net/article/54969.htm 最近抽空在虚拟机上测试成功了LAMP各个最新版本的整合编译安装,算是把之前的博文整合精简,以下内容均在CENTOS ...

  3. JAVA面试题整理(2)-多线程/并发

    1.synchronized 的实现原理以及锁优化? 在JDK 5之前Java语言是靠synchronized关键字保证同步的.使用synchronized 关键字定义同步方法,或者在方法中使用syn ...

  4. 什么时候使用namespace

    #include<iostream.h> 不用using namespace std; #include<iostream>要用using namespace std;

  5. SublimeText2 编辑器使用小结

    用SublimeText 2进行前端开发也有一段时间了,所谓“工欲善其事必先利其器”,前几日对照着网易课程又重新温习总结了一下有关SublimeText编辑器的使用方式,有所收获,在此进行一次小小的总 ...

  6. Centos6优化系统服务脚本

    #!/bin/bash SysVer=`cat /etc/redhat-release | awk -F'release' '{print $2}' | awk -F'[ .]+' '{print $ ...

  7. bootstrap && bagging && 决策树 && 随机森林

    看了一篇介绍这几个概念的文章,整理一点点笔记在这里,原文链接: https://machinelearningmastery.com/bagging-and-random-forest-ensembl ...

  8. MapReduce-实践2

    进阶实践4:  mapper,reducer输出数据压缩 应用场景 当mapper或者reducer的输出数量比较大,会影响shuffle阶段远程拷贝的网络性能,以及对存储容量的要求:这个时候可以考虑 ...

  9. How to implement multiple constructor with different parameters in Scala

    Using scala is just another road, and it just like we fall in love again, but there is some pain you ...

  10. 1.JSON 转换对象失败问题 2.spring注入失效

    今天做项目中将一个json 字符串转换为对象,但结果怎么都转换不了!——————最后发现问题,原来是因为这个类我给他添加了带参数的构造器!导致转换失败! 在添加一个无参的构造器就好了! 第二个:今天调 ...