注:列表,元组,字符串之间可以互相转换,方法类似强制类型转换
列表:list 元组:tuple 字符串str
列表,元组,字符串统称为序列
1.如何将字符串转化为列表,元组?
>>> a="123abc"
>>> b=tuple(a)
>>> b
('1', '2', '3', 'a', 'b', 'c')
>>> c=list(a)
>>> c
['1', '2', '3', 'a', 'b', 'c']
2.如何将列表转化为元组,字符串?
>>> a=[1,2,3,'a','b','c']
>>> b=str(a)
>>> b
"[1, 2, 3, 'a', 'b', 'c']"
>>> c=tuple(a)
>>> c
(1, 2, 3, 'a', 'b', 'c')
3如何将元组转化为列表,字符串?
>>> a=(1,2,3,'a','b','c')
>>> b=str(a)
>>> b
"(1, 2, 3, 'a', 'b', 'c')"
>>> c=list(a)
>>> c
[1, 2, 3, 'a', 'b', 'c']
4.len()方法可以用于字符串?列表?元组? 答案是YES
>>> a="123abc"
>>> len(a)
6
>>> b=list(a)
>>> b
['1', '2', '3', 'a', 'b', 'c']
>>> len(b)
6
>>> c=tuple(a)
>>> c
('1', '2', '3', 'a', 'b', 'c')
>>> len(c)
6
5.max()可以返回列表,元组,字符串中的最大值?(答案是YES,规则是ASCII码)
注:max()只能用于类型相同的列表,元组,因为字符串的类型就是字符串...所以这里不用考虑字符串
>>> a
'123abc'
>>> max(a)
'c'
>>> b
['1', '2', '3', 'a', 'b', 'c']
>>> max(b)
'c'
>>> c
('1', '2', '3', 'a', 'b', 'c')
>>> max(c)
'c'
>>> d="123456789"
>>> max(d)
'9'
>>> e=[1,23,45,677,89]
>>> max(e)
677
6.min()返回列表,元组,字符串的最小值?(答案是肯定的)
注:max()只能用于类型相同的列表,元组,因为字符串的类型就是字符串...所以这里不用考虑字符串
>>> a="1234567890"
>>> min(a)
'0'
>>> b=[1,2,3,343,4,6565,87,34]
>>> min(b)
1
>>> c=(1,2,3,4)
>>> min(c)
1
7.sum()可用于对列表,元组内元素求和?(YES)
注:列表元组内的元素只能为整数或小数,字符串内的东西为字符串类型所以该方法不能英语字符串
>>> a=[1.1,2.2,3.3,4.4]>>> sum(a)
11.0
>>> b=(1,2,3,4,1.2)
>>> sum(b)
11.2
8.非list对象内部函数的sort方法:sorted()
注:sorted可以用于列表,元组,字符串,但得到的结果都是一个列表
注:只有list类的对象有sort方法,元组,字符串都没有这个方法
>>> a="433873840234"
>>> sorted(a)
['0', '2', '3', '3', '3', '3', '4', '4', '4', '7', '8', '8']
>>> b={7,6,5,4,3,2,1,0}
>>> sorted(b)
[0, 1, 2, 3, 4, 5, 6, 7]
>>> c=(2,3,4,5,6,2)
>>> sorted(c)
[2, 2, 3, 4, 5, 6]
>>> tuple(sorted(c))
(2, 2, 3, 4, 5, 6)
9.非list类对象的reversed()方法 该方法返回的是一个迭代器..要想得到list,tuple或str类型(str尽管用了强制转换也不管用),都需要运用强制类型转换
注:reversed()可以用于str(达不到效果),tuple,list类型的对象
但是只有list类的对象中有reverse()方法
>>> a
(1, 2, 3, 4)
>>> reversed(a)
<reversed object at 0x039770B0>
>>> tuple(reversed(a))
(4, 3, 2, 1)
>>> b='1234'
>>> reversed(b)
<reversed object at 0x03969D70>
>>> str(reversed(b))
'<reversed object at 0x03977150>'
>>> b=[1,2,3,4]
>>> reversed(b)
<list_reverseiterator object at 0x039770B0>
>>> list(reversed(b))
[4, 3, 2, 1]
10如何将列表或者元组写成另外一个列表或元组,该列表或元组,中每个元组为(索引,值)的类型? enumerate()
注:该方法对于字符串无效
>>> a=['a','b','c']
>>> enumerate(a)
<enumerate object at 0x039636C0>
>>> list(enumerate(a))
[(0, 'a'), (1, 'b'), (2, 'c')]
>>> b=('a','b','c')
>>> enumerate(b)
<enumerate object at 0x039636C0>
>>> tuple(enumerate(b))
((0, 'a'), (1, 'b'), (2, 'c'))
11.如何将两个列表或两个元组,或一个列表一个元组整个在一起,生成一个列表或元组(强制转换烈性决定),该列表或元组中的每个元组都是(第一个列表中的元组,第二个列表中的元素)的类型? zip(第一个集合的名字,第二个集合的名字)
>>> a=[1,2,3]
>>> b=['a','b','c']
>>> zip(a,b)
<zip object at 0x039638A0>
>>> list(zip(a,b))
[(1, 'a'), (2, 'b'), (3, 'c')]
>>> tuple(zip(a,b))
((1, 'a'), (2, 'b'), (3, 'c'))
>>> c=(1,2,3)
>>> d=('a','b','c')
>>> tuple(zip(c,d))
((1, 'a'), (2, 'b'), (3, 'c'))
>>> list(zip(c,d))
[(1, 'a'), (2, 'b'), (3, 'c')]
>>> list(zip(a,c))
[(1, 1), (2, 2), (3, 3)]
特殊的,当两个集合内元素个数不同时:(会将前面的整合在一起)
>>> list1=[1,2,3]
>>> list2=['a','b','c','d']
>>> list(zip(list1,list2))
[(1, 'a'), (2, 'b'), (3, 'c')]