《零基础入门学习Python》学习过程笔记【016列表,元组,字符串的转化及共用技巧】

注:列表,元组,字符串之间可以互相转换,方法类似强制类型转换

列表: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')]





原文地址:https://www.cnblogs.com/iamjuruo/p/7470908.html