鱼C论坛

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

[技术交流] 016讲总结

[复制链接]
发表于 2017-7-26 17:11:58 | 显示全部楼层 |阅读模式

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

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

x
列表、元组、字符串统称为序列
list(iterable) 把一个可迭代对象转换为列表
若不带参数→产生一个空列表。如:
>>> a = list()
>>> a
[]

若带参数→通过迭代iterable中的元素构成一个新列表。如:
>>> b = 'I love FishC.com'
>>> b = list(b)
>>> b
['I', ' ', 'l', 'o', 'v', 'e', ' ', 'F', 'i', 's', 'h', 'C', '.', 'c', 'o', 'm']
>>> c = (1, 1, 2, 3, 5, 8, 13, 21, 34)
>>> c = list(c)
>>> c
[1, 1, 2, 3, 5, 8, 13, 21, 34]

tuple(iterable) 把一个可迭代对象转换为元组,用法与list(iterable)类似。

str(obj) 把obj对象转换为字符串。

len(序列变量名) 返回序列长度。

max(序列变量名) 返回序列或者参数集合中的最大值[ 即阿斯卡码大小 ]。如:
>>> max(1, 2, 3, 4, 5)
5
>>> max(b)
'v'
>>> numbers = [1, 18, 13, 0, -98, 34, 54, 76, 32]
>>> max(numbers)
76

min(序列变量名) 返回序列或者参数集合中的最小值[ 即阿斯卡码大小 ]。如:
>>> chars = '1234567890'
>>> min(chars)
'0'
PS:上面的max() 和 min()两种方法均要保证序列中元素类型是相同的,否则:
>>> numbers = [1, 18, 13, 0, -98, 34, 54, 76, 32]
>>> numbers.append('a')
>>> numbers
[1, 18, 13, 0, -98, 34, 54, 76, 32, 'a']
>>> max(numbers)
Traceback (most recent call last):
  File "<pyshell#24>", line 1, in <module>
    max(numbers)
TypeError: unorderable types: str() > int()

sum(iterable, start) 返回序列iterable 和可选参数 start 的总和[ start被省略时默认值为0 ]。如:
>>> tuple2 = (3.1, 2.3, 3.4)
>>> sum(tuple2)
8.8
>>> numbers
[1, 18, 13, 0, -98, 34, 54, 76, 32]
>>> sum(numbers, 8)
138
PS:若序列中的元素不全都为数据类型,则会报错:
>>> numbers
[1, 18, 13, 0, -98, 34, 54, 76, 32, 'a']
>>> sum(numbers)
Traceback (most recent call last):
  File "<pyshell#27>", line 1, in <module>
    sum(numbers)
TypeError: unsupported operand type(s) for +: 'int' and 'str'
>>> chars
'1234567890'
>>> sum(chars)
Traceback (most recent call last):
  File "<pyshell#33>", line 1, in <module>
    sum(chars)
TypeError: unsupported operand type(s) for +: 'int' and 'str'

sorted(序列变量名) 返回一个默认为从小到大排序的列表。如:
>>> numbers
[1, 18, 13, 0, -98, 34, 54, 76, 32]
>>> sorted(numbers)
[-98, 0, 1, 13, 18, 32, 34, 54, 76]

reversed(序列变量名) 从头到尾颠倒顺序(返回迭代器对象)。如:
>>> numbers
[1, 18, 13, 0, -98, 34, 54, 76, 32]
>>> reversed(numbers)
<list_reverseiterator object at 0x0000000002E44EB8>
>>> list(reversed(numbers))
[32, 76, 54, 34, -98, 0, 13, 18, 1]

enumerate(序列变量名) 枚举 返回由小元组( index, item )构成的大列表(返回迭代器对象)。如:
>>> numbers
[1, 18, 13, 0, -98, 34, 54, 76, 32]
>>> enumerate(numbers)
<enumerate object at 0x0000000002EEECA8>
>>> list(enumerate(numbers))
[(0, 1), (1, 18), (2, 13), (3, 0), (4, -98), (5, 34), (6, 54), (7, 76), (8, 32)]

zip(a, b) 返回由a序列和b序列对应形成的小元组构成的大列表(返回迭代器对象,以数量较小的那一个序列为标准)。如:
>>> a = [1, 2, 3, 4, 5, 6, 7, 8]
>>> b = [4, 5, 6, 7, 8]
>>> zip(a, b)
<zip object at 0x0000000002EF4548>
>>> list(zip(a, b))
[(1, 4), (2, 5), (3, 6), (4, 7), (5, 8)]

评分

参与人数 1鱼币 +2 收起 理由
小甲鱼 + 2

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 14:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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