Python中列表生成式和字典生成式练习
(一)列表生成式
练习一:编写名为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中列表生成式和字典生成式练习的更多相关文章
- Python中列表(list)、字典(dict)排序的程序
Python3 中的排序,在 Sorting HOW TO 中已经讲得很清楚了.来个实际的例子,对下面的这个 list 依据创建时间排序: pages = [{'title': '十年学会程序设计', ...
- python中列表排序,字典排序,列表中的字典排序
#-*- encoding=utf-8 -*- # python3代码 import operator 一. 按字典值排序(默认为升序) x = {1:2, 3:4, 4:3, 2:1, 0:0} 1 ...
- python中列表生成式
1.简介 列表生成式即List Comprehensions,是Python中用于创建list的生成式. 2.示例 [表达式 循环体 条件语句] #!/usr/bin/env python # - ...
- day19-1 迭代器,三元表达式,列表推导式,字典生成式,
目录 迭代器 可迭代对象 迭代器对象 总结 三元表达式(三目表达式) 列表推导式 字典生成式 迭代器 可迭代对象 拥有iter方法的对象就是可迭代对象 # 以下都是可迭代的对象 st = '123'. ...
- Python中列表,元组,字典,集合的区别
参考文档https://blog.csdn.net/Yeoman92/article/details/56289287 理解Python中列表,元组,字典,集合的区别 列表,元组,字典,集合的区别是p ...
- python中列表和元组以及字符串的操作
python中列表是非常好用的.不过有一些使用小细节还需要注意一下. tag[32:-4] 从index为32到tag的倒数第4个字符. 如果索引为32的值在倒数第4个字符的右边,那么将输出为空.只要 ...
- python 将列表里的字典元素合并为一个字典
python 将列表里的字典元素合并为一个字典 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn. ...
- python中列表元素连接方法join用法实例
python中列表元素连接方法join用法实例 这篇文章主要介绍了python中列表元素连接方法join用法,实例分析了Python中join方法的使用技巧,非常具有实用价值,分享给大家供大家参考. ...
- 对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
引用:https://www.jb51.net/article/142775.htm 列表赋值: 1 2 3 4 5 6 7 >>> a = [1, 2, 3] >>&g ...
随机推荐
- [Deep Learning]学习资料积累
1. ufldl教程√ Andrew Ng的教程,matlab代码. 2. Neural Network and Deep Learning√: 一本未写完的书,非常细致,对基础的概念比如cross ...
- Greatest Common Increasing Subsequence
/*HDU1423 最长公共递增*/ #include <stdio.h> #include <string.h> #include <iostream> usin ...
- mysql服务解压版的安装(5.7)
推荐博客: https://www.cnblogs.com/LxyXY/p/7708016.html
- C++ 第三十四天
c++ 已经搁了很久了,之所以捡起来是因为学校数据结构课程设置 **.我对 c++ 的掌握非常不扎实,因为除了顺序阅读 c++ primer 外就没有什么实践, 但是我又无法忍受自己写出来的 * 一样 ...
- Web开发相关笔记 #02#
[1] HTML 插入第三方. [2] [3] JavaScript 回调函数 & 模块化 --> 用变量封装数据.方法 --> 类比 Java 中的 package var fe ...
- Python3.x:常用基础语法
Python3.x:常用基础语法 1,if else语句: 不执行if内的语句,需要用:pass if i>2: #跳过不执行 pass else: print("i= %s" ...
- 理解 Dubbo SPI 扩展机制
写在前面 最近接触了 gRPC 体会到虽然众多 RPC 框架各有各的特点但是他们提供的特性和功能有很多的相似之处 , 这就说明他们面对同样的分布式系统带来的问题.从 2016 年左右开始接触到 dub ...
- 20145335郝昊《java程序设计》第2次实验报告
20145335郝昊<java程序设计>第2次实验报告 实验名称 Java面向程序设计,采用TDD的方式设计有关实现复数类Complex. 理解并掌握面向对象三要素:封装.继承.多态. 运 ...
- 20135302魏静静——linux课程第四周实验及总结
linux课程第四周实验及总结 一.实验 我选择的是第20号系统调用,getpid 代码如下: /* getpid.c */ #include <unistd.h> #include &l ...
- bzoj 3450: Tyvj1952 Easy
Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 411 Solved: 309[Submit][Status][Discuss] Descriptio ...