鱼C论坛

 找回密码
 立即注册
查看: 2607|回复: 0

[技术交流] python入门L16

[复制链接]
发表于 2017-6-23 23:32:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
0 列表、元组和字符串的共同点
-都可以通过索引得到每一个元素
-默认索引值是从0开始
-可以通过分片的方法得到一个范围内的元素的集合
-有很多共同的操作符(重复*、拼接+、成员关系in)
1 关于序列的常见的BIF
-list()
        list() -> new empty list
         |  list(iterable) -> new list initialized from iterable's items
        Iterable 是一个迭代器
        迭代:重复反馈过程的活动,目的是接近并达到所需的结果,每一次对过程重复称之为一次迭代,每一次迭代所得到的结果都会被用来作为下一次迭代的初始值。迭代可以等效为一个for循环
        序列天生就是可迭代的对象
BSP:
>>> b='I love fisch'
>>> b=list(b)
>>> b
['I', ' ', 'l', 'o', 'v', 'e', ' ', 'f', 'i', 's', 'c', 'h']

>>> c=(1,1,2,3,5,8,13,21,24)
>>> c=list(c)
>>> c
[1, 1, 2, 3, 5, 8, 13, 21, 24]
List()的过程可以描述为:它先新建一个列表,通过循环,每次将索引值存入列表对应位置,最终返回一个被赋值列表
-tuple([iterable])
把一个可迭代对象转换为元组
-str(obj)把对象转换为字符串-----和int() float()功能类似

-len()

-max()返回参数的最大值
-min()返回序列或者参数集合中的最小值
>>> a=[1,18,13,0,-98,34,54,76,32]
>>> max(a)
76
>>> min(a)
-98
>>> chars='123456789'比较字符的ASCII码,1相当于31
>>> min(chars)
'1'
>>> tupel1=(1,2,3,4,5,6,7,8,9)
>>> max(tupel1)
9
使用max或者min方法,必须保证数据类型统一
>>> a.append('a')
>>> a
[1, 18, 13, 0, -98, 34, 54, 76, 32, 'a']
>>> max(a)
Traceback (most recent call last):
  File "<pyshell#29>", line 1, in <module>
    max(a)
TypeError: '>' not supported between instances of 'str' and 'int'
max函数实现原理:
Max=tuple1[0]
For each in tuple1:
        If each> max
                Max=each
Return max
-sum(iterable[,start=0])返回序列iterable 和可选参数start的总和。
>>> tuple2=(3.1,2.3,3.4)
>>> sum(tuple2)
8.8
不同类型不能相加,只能对数字类型相加
>>> a
[1, 18, 13, 0, -98, 34, 54, 76, 32]
>>> sum(a)
130
>>> sum(a,8)
138
-sorted()排序,和列表的内置函数list.sort()功能一样
>>> a.sort()
>>> a
[-98, 0, 1, 13, 18, 32, 34, 54, 76]
>>> b=[1, 18, 13, 0, -98, 34, 54, 76, 32]
>>> sorted(b)
[-98, 0, 1, 13, 18, 32, 34, 54, 76]
-reversed()
>>> reversed(b)
<list_reverseiterator object at 0x03310E10>返回一个迭代器对象,
用list可以将其间接转化为一个列表
>>> list(reversed(b))
[32, 76, 54, 34, -98, 0, 13, 18, 1]
-enumerate()生成由每个元素的index值和item值组成的元组
>>> list(enumerate(b))
[(0, 1), (1, 18), (2, 13), (3, 0), (4, -98), (5, 34), (6, 54), (7, 76), (8, 32)]
zip返回由各个参数的序列组成的元组
>>> a=[1,2,3,4,5,6,7,8]
>>> b=[4,5,6,7,8]
>>> zip(a,b)
<zip object at 0x0330C2D8>
>>> list(zip(a,b))
[(1, 4), (2, 5), (3, 6), (4, 7), (5, 8)]

评分

参与人数 2鱼币 +4 收起 理由
康小泡 + 2
小甲鱼 + 2 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-4 13:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表