美文网首页
Python——高级特性

Python——高级特性

作者: __Jasmine__ | 来源:发表于2017-09-14 17:47 被阅读6次

#!/usr/bin/python

# -*- coding:UTF-8 -*-

__author__ = 'wxq'

from collections import Iterable

"""

1. 切片功能

1). 取列表中的前三个元素List[0:3],索引0开始,取到索引3,但不包括索引3;

2). 如果第一个索引是0,可以省略;

3). List[1:3]从索引1开始取,取到索引3但不包含索引3,所以只取了两个;

4). List[-1]表示倒数第一个

5). List[:10]前10个,List[-10:]后10个

5). List[:10:2]前10个数,每2个取一个

6). List[::3]所有数每3个取一个

*7). 字符串也可以使用切片功能,操作结果仍是字符串

*8). 元组tuple也可以使用切片功能,操作结果仍是元组

"""

myList = [0,1,2,'a','abc']

print myList[0:3]

print myList[:3]

print myList[1:3]

print myList[-1]

print myList[-2:-1]

print myList[-2:]

print myList[:5:2]

print myList[::3]

myTuple =  ('a','b','c',1,2,3,'z')

print myTuple[:]

print myTuple[:3]

print myTuple[1:5]

print myTuple[-3:-1]

print myTuple[::2]

myString = "ABSHDBASGHSV"

print myString[:]

print myString[:3]

print myString[1:3]

print myString[-1]

print myString[::3]

print "---------------------------END---------------------------"

"""

2. 迭代功能Iteration

1). 导入collection模块的Lterable类型,使用isinstance(,Iterable)来判断是否可以迭代;

2). 对于List想要实现索引-值,python内置函数enumerate可以把列表变成此种格式;

3). 可以引用变量来输出内容

"""

print isinstance("abc",Iterable)

print isinstance('abc',Iterable)

print isinstance(['a','c','v','f'],Iterable)

print isinstance((1,2,3,4,'t'),Iterable)

print isinstance(123,Iterable)

for index,value in enumerate(['a','c',1,2,3]):

print index,value

for i in (1,2,3):

print i

a = 'w'

for i in [(1,2),('2',a,'y'),a]:

print i

for x,y,z in [(1,2,3),(a,'2','0')]:

print x,y,z

print "---------------------------END---------------------------"

"""

3. 列表生成式List Comprehensions

1). range(1,11)表示从1开始,到11但不包含11

2). [x*x for x in range(1,11)],写列表生成式时,把要生成的元素x * x放到前面,后面跟for循环,就可以把list创建出来

3). 除了2)中的方法之外可以使用if等条件或者循环语句判断写列表生成式

4). 可以使用两层循环写列表生成式

5). dict中的iteritems遍历字典中的数据

6). 把List中所有的字符串变成小写,首先要判断是不是字符串,不是字符串会报错

"""

print range(1,11)

print [x*x for x in range(1,11)]

print [x*x for x in range(1,5) if x%2!=0]

print [x/y for x in range(0,4) for y in range(1,3)]

print [(x,y) for x in range(0,4) if x%2==0 for y in range(1,3) if y!=1]

myDict = {'1':'a','2':'A'}

for i in myDict.iteritems():

print type(i)

print i

for i,j in myDict.iteritems():

print type(i)

print i

for i in ['HELL','12H',12]:

if isinstance(i,str):

print i.lower()

else:

print i

print "---------------------------END---------------------------"

"""

4. 生成器:一边循环一边计算的机制,称为生成器(Generator)

1). 把一个列表生成式的[]改成(),就创建了一个generator

2). 创建L和g的区别仅在于最外层的[]和(),L是一个list,而g是一个generator

3). yield关键字,generator的函数,在每次调用next()的时候执行,遇到yield语句返回,再次执行时从上次返回的yield语句处继续执行。

4).

"""

myGenerator = (x*2 for x in range(1,10) if x%2==0)

for i in myGenerator:

print i

print "*****"

def fib(max):

n,a,b = 0,0,1

while n

相关文章

  • Python学习(三)

    Python的高级特性 python中有很多高级特性,比起C/C++来说要简单许多,运用起来十分方便。 切片 通常...

  • Python高级特性

    切片slice取指定索引范围的操作:[0:10:2]-->意为从第一个元素到第11个元素,元素之间隔2 迭代ite...

  • python 高级特性

    1.切片对取数据很方便,如取一个list的前n个元素,没有接触到切片的,可以使用循环,但是用切片就会很简单: 也支...

  • Python高级特性

    切片 迭代 列表生成式 生成器 generator generator:按照某种算法推算出来结果,是一种一边循环一...

  • Python——高级特性

    #!/usr/bin/python # -*- coding:UTF-8 -*- __author__ = 'wx...

  • python高级特性

    python高级特性 iteration迭代 对list,tuple的遍历被称为迭代。对list实现类似Java那...

  • python高级特性

    一、列表生成器 1. 形式: [表达式 for ... in 可迭代类型 [if expression] ] 2....

  • Python 高级特性

    切片 迭代 列表生成式 生成器 迭代器

  • Python高级特性

    掌握了Python的数据类型、语句和函数,基本上就可以编写出很多有用的程序了。 比如构造一个1, 3, 5, 7,...

  • python高级特性

    1、切片(slice)L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3...

网友评论

      本文标题:Python——高级特性

      本文链接:https://www.haomeiwen.com/subject/zhndsxtx.html