python基础之列表推导式

1、列表推导式

1.1、求0~29之间能被3整除的数

ret = [i for i in range(30) if i%3 ==0]
print(ret)

  输出结果:

[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]

2、字典推导式

2.1、将字典mcase = {‘a‘: 10, ‘b‘: 34}的key、value互换位置

mcase = {‘a‘: 10, ‘b‘: 34}

mcase_frequency = {mcase[k]: k for k in mcase}
print(mcase_frequency)

  输出结果:

{10: ‘a‘, 34: ‘b‘}

2.2、将字典中大小写key的value值相加

mcase = {‘a‘: 10, ‘b‘: 34, ‘A‘: 7, ‘Z‘: 3}
mcase_frequency = {k.lower(): mcase.get(k.lower(), 0) + mcase.get(k.upper(), 0) for k in mcase}
print(mcase_frequency)

  输出结果:

{‘a‘: 17, ‘b‘: 34, ‘z‘: 3}

3、集合生成式

3.1、求列表[1, -1, 2]中元素的平方值的集合

squared = {x**2 for x in [1, -1, 2]}
print(squared)

  输出结果:

{1, 4}

原文地址:https://www.cnblogs.com/bad-robot/p/9733573.html

时间: 2024-10-02 22:57:43

python基础之列表推导式的相关文章

【python基础】列表推导式&字典推导式&集合推导式

一.定义 python的一种独有特性, 推导式是可以从一个数据序列构建另一个新的数据序列的结构体 列表推导式,字典推导式,集合推导式(集合是可变数据类型,集合中的元素是不可变数据类型) 1.列表推导式 提供了简单的生成列表的方法 (1)语法结构 ①list = [表达式 for item in 容器] ②list = [表达式 for item in 容器 if 条件] ③list = [表达式 for item1 in 容器1 for item2 in 容器2] (2)执行流程 ①循环遍历出容

Python中的列表推导式

Python里面有个很棒的语法糖(syntactic sugar),它就是 list comprehension ,有人把它翻译成"列表推导式",也有人翻译成"列表解析式".名字听上去很难理解,但是看它的语法就很清晰了.虽然名字叫做 list comprehension,但是这个语法同样适用于dict.set等这一系列可迭代(iterable)数据结构. 语法规范: out_list = [out_express for out_express in input_l

python中的列表推导式的简单实用

列表推导式是利用其它列表创建新列表的一种方法,它的工作方式类似于for循环: >>> [x*x for x in range(10)] [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 列表由range(10)中的每个x的平方组成,如果只想打印出那些只能被3整除的平方数呢?那么可以使用模运算符--x%3,当数字可以被3整除时返回0: >>> [x*x for x in range(10) if x%3==0] [0, 9, 36, 81] 也可以

Python List comprehension列表推导式

http://blog.chinaunix.net/uid-28631822-id-3488324.html 具体内容需要进一步学习 原文地址:https://www.cnblogs.com/xiaoxuesheng993/p/10962961.html

python基础-三元表达式/列表推导式/生成器表达式

1.三元表达式:如果成立返回if前的内容,如果不成立返回else的内容 name=input('姓名>>: ') res='SB' if name == 'alex' else 'NB' print(res) 2.列表推导式:l=['egg'+str(i) for i in range(1,11)] print(l) 3.生成器表达式: l=('egg'+str(i) for i in range(1,11) if i >6) for i in l: print(i) 原文地址:http

【5】python_基础_字符集、列表推导式、模块

Python基础 1 字符集 字符集编码发展历程简介:2进制(0/1)→ASCII表(数字/英文/符号)→gb2312(简体中文) →gbk(汉字) →Unicode(万国码,存储空间加倍) →UTF-8 跨国官方语言兼容:本国语言字符集→转换成Unicode→转换成外国语言字符集 python2的默认字符是ascii,python3的默认字符是utf-8 python2不支持中文,报错:no-ascii,解决方案:在py文件头部加上# -*- coding:utf-8 -*- 2 列表推导式(

python 3列表推导式的的一点理解!

Python的列表推导式对于新手来说一般都难以理解,简单看个例子: [x * x for x in range(1,100)] 上面是一个很简单的列表推导式,我的理解方式是从右往左看. 一点一点来看吧,我们先用range(1,100)生成一个迭代器对象(1-99的列表),然后再迭代这个列表的每一个对象,然后让每个对象执行一次平方操作,最后生成一个列表. -----------------------------分割线----------------------------------------

Python的列表推导式

1.列表推导式书写形式: [表达式 for 变量 in 列表]    或者  [表达式 for 变量 in 列表 if 条件] 2.举例说明: #!/usr/bin/python # -*- coding: utf-8 -*- li = [1,2,3,4,5,6,7,8,9] print [x**2 for x in li] print [x**2 for x in li if x>5] print dict([(x,x*10) for x in li]) print [ (x, y) for

python 列表推导式----轻量级循环

列表推导式(list comprehension)是利用其他列表创建新列表(类似于数学术语中的集合推导式)的一种方法.它的工作方式类似于for循环,也很简单: In [39]: [x*x for x in range(10)]Out[39]: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 如果只想打印出那些能被3整除的平方数,只需要通过添加一个if部分在推导式中就可以完成: In [41]: [x*x for x in xrange(10) if x % 3 == 0