Python:enumerate函数、introspection对象自省、推导式(列表(list)推导式、字典(dict)推导式、集合(set)推导式)

枚举(enumerate)是Python内置函数。它允许我们遍历数据并?动计数,例如下面这样:for counter, value in enumerate(some_list):   print(counter, value)不只如此,enumerate也接受?些可选参数,这使它更有?。例如:for counter, value in enumerate(some_list,1):  # 指定从1开始计数   print(counter, value)还可以?来创建包含索引的元组列表。

1 # 指定索引从 1 开始
2 my_list = [‘apple‘, ‘banana‘, ‘grapes‘, ‘pear‘]
3 for c, value in enumerate(my_list, 1):
4     print(c, value)
5
6 # 用来创建包含索引的元组列表
7 counter_list = list(enumerate(my_list, 1))    # 生成一个元素索引数字和元素的元组列表
8 print(counter_list)        # 输出:[(1, ‘apple‘), (2, ‘banana‘), (3, ‘grapes‘), (4, ‘pear‘)]

?省(introspection),在计算机编程领域?,是指在运?时来判断?个对象的类型的能?。它是Python的强项之?。Python中所有?切都是?个对象.下面介绍:dir,type和id,inspect砌块
 1 # dir?省的最重要的函数之?。它返回?个列表,列出了?个对象所拥有的属性和?法
 2 my_list = [1, 2, 3]
 3 print(dir(my_list))    # 输出 my_list 的所有?法的名字。不传入参数会返回当前作?域的所有名字
 4 other_list = [‘Michael‘, ‘Jack‘]
 5 my_list = my_list.__add__(other_list)    # 两个列表元素合并
 6 print(my_list)
 7
 8 # type和id,type函数返回?个对象的类型。
 9 print(type(‘‘))
10 print(type([]))
11 print(type({}))
12 print(type(()))
13 print(type(dict))
14 print(type(3))
15
16 # id()函数返回任意不同种类对象的唯?ID
17 name = ‘Michael‘
18 print("ID:", id(name))
19
20 # inspect模块也提供了许多有?的函数,来获取活跃对象的信息。
21 import inspect
22 #print(inspect.getmembers(str))        # 查看一个对象的成员
23 s = inspect.getmembers(str)            # 查看一个对象的成员,还有很多方法可以去试下
24 for k in enumerate(s,1):
25     print(k)
推导式(又称解析式)是Python的?种独有特性;推导式是可以从?个数据序列构建另?个新的数据序列的结构体。共有三种推导,在Python2和3中都有?持:   列表(list)推导式   字典(dict)推导式   集合(set)推导式
列表推导式(又称列表解析式)提供了?种简明扼要的?法来创建列表。结构是在?个中括号?包含?个表达式,然后是?个for语句,然后是0个或多个for或者if语句。那个表达式可以是任意的,意思是你可以在列表中放?任意类型的对象。返回结果将是?个新的列表,在这个以if和for语句为上下?的表达式运?完成之后产?。语法:variable = [out_exp for out_exp in input_list if out_exp == 2]
1 multiples = [ i for i in range(1,40) if i % 2 is 0]
2 print(multiples)
3 var = [ lambda x:x**2 for x in range(1,11) if x % 3 is 0]
4 print(var[1](3))
5
6 def haha(x):
7     return {str(x): chr(x)}
8 michaels = [ haha(x) for x in range(1,130)]
9 print(michaels)
 
字典推导式(dict comprehensions)字典推导和列表推导的使??法是类似的
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.keys()
}
# 使用字典的get方法获取键对应的值,没有找到用0替代# 在上?的例?中我们把同?个字母但不同??写的值合并起来了。print(mcase_frequency)# 还可以快速对换?个字典的键和值dict1 = { v:k for k, v in mcase.items()}print(dict1)
 
集合推导式(set comprehensions)它们跟列表推导式也是类似的。 唯?的区别在于它们使??括号{}。注意:集合要去掉重复的元素,只保留1个
squared = { x**2 for x in [1,1,2]}
print(squared)
 

原文地址:https://www.cnblogs.com/Micro0623/p/9951654.html

时间: 2024-07-30 03:01:39

Python:enumerate函数、introspection对象自省、推导式(列表(list)推导式、字典(dict)推导式、集合(set)推导式)的相关文章

Python黑帽编程2.3 字符串、列表、元组、字典和集合

Python黑帽编程2.3  字符串.列表.元组.字典和集合 本节要介绍的是Python里面常用的几种数据结构.通常情况下,声明一个变量只保存一个值是远远不够的,我们需要将一组或多组数据进行存储.查询.排序等操作,本节介绍的Python内置的数据结构可以满足大多数情况下的需求.这一部分的知识点比较多,而且较为零散,需要认真学习. 2.3.1  字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1

Python enumerate函数

enumerate函数接受一个可遍历的对象,如列表.字符串,可同时遍历下标(index)及元素值(value) >>> a = ['aaa','bbb','ccc',1235] >>> print(a) ['aaa', 'bbb', 'ccc', 1235] >>> print(len(a)) 4 >>> for i in range(len(a)): print(i) 0 1 2 3 >>> for j in ra

Python enumerate() 函数----枚举

描述 enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中. Python 2.3. 以上版本可用,2.6 添加 start 参数. 语法 以下是 enumerate() 方法的语法: enumerate(sequence, [start=0]) 参数 sequence -- 一个序列.迭代器或其他支持迭代对象. start -- 下标起始位置. 返回值 返回 enumerate(枚举) 对象. 实例

Python enumerate() 函数

enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中. 用大白话来说,就是给一组元素偏个号,比如我们在整理excel表格时,习惯在第一个字段加上个序号字段,写上1,2,3,4,5...一样的道理. 语法 以下是 enumerate() 方法的语法: enumerate(sequence, [start=0]) 实例 以下展示了使用 enumerate() 方法的实例: >>>seasons =

python enumerate函数用法

enumerate函数用于遍历序列中的元素以及它们的下标 i = 0 seq = ['one', 'two', 'three'] for element in seq: print i, seq[i] i += 1 #0 one #1 two #2 three print '============' seq = ['one', 'two', 'three'] for i, element in enumerate(seq): print i, seq[i] print '===========

python enumerate 函数用法

enumerate字典上是枚举.列举的意思. C语言中关键字enum也是enumerate的缩写. python中enumerate方法,返回一个enumerate类型.参数一般是可以遍历的的东西,比如列表,字符串什么的. python文档中是这么说的: enumerate(sequence, [start=0]) Return an enumerate object. sequence must be a sequence, an iterator, or some other object

python之路-基础(一):文件处理、列表、元组、字典、set集合

文件处理                                                                                                                                   文件处理模式: [ r  ]  以只读模式打开(只能读)                          [rb  ] 以二进制读模式打开 [ w ]  以只写模式打开(写之前清空文件)                 [wb

【Python的函数对象】

函数对象 函数(Function)作为程序语言中不可或缺的一部分,但函数作为第一类对象(First-Class Object)却是 Python 函数的一大特性. 那到底什么是第一类对象(First-Class Object)呢? 在 Python 中万物皆为对象,函数也不例外,函数作为对象可以赋值给一个变量.可以作为元素添加到集合对象中.可作为参数值传递给其它函数,还可以当做函数的返回值,这些特性就是第一类对象所特有的. 1.函数身为一个对象,拥有对象模型的三个通用属性:id.类型.和值. #

python(51):Python vars() 函数

Python vars() 函数  Python 内置函数 描述 vars() 函数返回对象object的属性和属性值的字典对象. 语法 vars() 函数语法: vars([object]) 参数 object -- 对象 返回值 返回对象object的属性和属性值的字典对象,如果没有参数,就打印当前调用位置的属性和属性值 类似 locals(). 实例 以下实例展示了 vars() 的使用方法: >>>print(vars()) {'__builtins__': <module