列表,元组和字符串有共同的特点:
—都可以通过索引得到每一个元素
—默认索引值都是从0开始
—可以通过分片的办法得到一个范围内的元素的集合
—有共同的操作符(重复操作符,拼接操作符和成员关系操作符)
1.list() 把一个可迭代对象转换为列表,可以查看他的帮助文档help(list)
>>> help(list)
Help on class list in module __builtin__:
class list(object)
| list() -> new empty list
| list(iterable) -> new list initialized from iterable's items
list方法可以不带参数,也可以带一个迭代器作为参数;
迭代器是访问集合内元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素都被访问一遍后结束;
迭代器不能回退,只能往前进行迭代。(以后再看迭代器)
-
>>> a=list()
-
>>> a
-
[]
-
>>> b="I love You"
-
>>> b=list(b)
-
>>> b
-
['I', ' ', 'l', 'o', 'v', 'e', ' ', 'Y', 'o', 'u']
b原本是个字符串,通过调用list函数,它带有一个参数(字符串),把该字符串迭代,变成一个列表复制给b
-
>>> c=(1,2,3,4,5,6,7,8,9)
-
>>> c=list(c)
-
>>> c
-
[1, 2, 3, 4, 5, 6, 7, 8, 9]
将一个元组变成列表
2.tuple([iterable]) 把一个可迭代对象转换为元组
>>> help(tuple)
Help on class tuple in module __builtin__:
class tuple(object)
| tuple() -> empty tuple
| tuple(iterable) -> tuple initialized from iterable's items
它的用法和list一样
-
>>> a="I love You"
-
>>> a=tuple(a)
-
>>> a
-
('I', ' ', 'l', 'o', 'v', 'e', ' ', 'Y', 'o', 'u')
-
>>> b=[1,2,3,4,5,6]
-
>>> b=tuple(b)
-
>>> b
-
(1, 2, 3, 4, 5, 6)
3.str(obj) 把obj对象转换为字符串
-
>>> a=("I love You")
-
>>> a=str(a)
-
>>> a
-
'I love You'
-
>>> a=("I love You","haha")
-
>>> a=str(a)
-
>>> a
-
"('I love You', 'haha')"
4.len(sub) 返回参数sub的长度
-
>>> a="I love You"
-
>>> len(a)
-
10
-
>>> b=[]
-
>>> len(b)
-
0
5.max()和min() 返回序列或者参数集合中的最大/小值
-
>>> a
-
'I love You'
-
>>> b
-
[]
-
>>> c
-
[1, 2, 3, 4, 5, 6, 7, 8, 9]
-
>>> max(b)
-
-
Traceback (most recent call last):
-
File "<pyshell#38>", line 1, in <module>
-
max(b)
-
ValueError: max() arg is an empty sequence
-
>>> max(c)
-
9
-
>>> max(a)
-
'v'
-
>>> chars="1234567890"
-
>>> min(chars)
-
'0'
注意,一定要有参数,而且都为字符的时候,比较的是ASCII码的大小
-
>>> c.append("lw")
-
>>> c
-
[1, 2, 3, 4, 5, 6, 7, 8, 9, 'lw']
-
>>> max(c)
-
'lw'
6.sum(iterable,[, start=0]) 返回序列iterable和可选参数start的总和
-
>>> sum1=(1,2,3,4,5)
-
>>> sum(sum1)
-
15
-
>>> number
-
[1, 2, -88, 'a']
-
>>> number.pop()
-
'a'
-
>>> number
-
[1, 2, -88]
-
>>> sum(number)
-
-85
字符串类型的不能用sun方法,整形,浮点型等可以使用
-
>>> chars
-
'1234567890'
-
>>> sum(chars )
-
-
Traceback (most recent call last):
-
File "<pyshell#71>", line 1, in <module>
-
sum(chars )
-
TypeError: unsupported operand type(s) for +: 'int' and 'str'
7.sorted()和list.sort()一样,从小到大排序
-
>>> sorted(number)
-
[-88, 1, 2]
-
>>> string=["I","love","You"]
-
>>> string
-
['I', 'love', 'You']
-
>>> sorted(string)
-
['I', 'You', 'love']
-
>>> number.append('a')
-
>>> number
-
[1, 2, -88, 'a']
-
>>> sorted(number)
-
[-88, 1, 2, 'a']
8.reversed()
返回的是一个迭代器对象,可以用list办法使其转换为列表
-
>>> number
-
[1, 2, -88]
-
>>> reversed(number)
-
<listreverseiterator object at 0x000000000327E8D0>
list一个反转迭代器
-
>>> list(reversed(number))
-
[-88, 2, 1]
9.enumerate() 枚举,生成由每个元素的index值和iter值组成的一个元组,直接带参数返回的是一个对象,可以用list方法转换为列表
-
>>> number
-
[1, 2, -88]
-
>>> enumerate(number)
-
<enumerate object at 0x0000000002DD9090>
-
>>> list(enumerate(number))
-
[(0, 1), (1, 2), (2, -88)]
生成的每个元组包含该元素的索引值和元素的值
10.zip() 返回由各个参数的序列所组成的元组
-
>>> a=[1,2,3,4,5,6,7,8]
-
>>> b=[4,5,6,7,8]
-
>>> zip(a,b)
-
[(1, 4), (2, 5), (3, 6), (4, 7), (5, 8)]
-
>>> list(zip(a,b))
-
[(1, 4), (2, 5), (3, 6), (4, 7), (5, 8)]
a的第0个元素1和b的第0个元素4组合在一起变成一个元组(1,4),成为最后形成的大列表的第0个元素.而且,b只有5个元素,
所以a只取对应的前5个元素,后面的元素省略,就是把两个元素打包成一个元组嘛!
阅读(907) | 评论(0) | 转发(0) |