序列(list)

Posted xiangdongsheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了序列(list)相关的知识,希望对你有一定的参考价值。

1.列表、元组和字符串的共同点

  •   都可以通过索引得到每一个元素
  •   默认索引值总是从0开始
  •   可以通过分片的方法得到一个范围内的元素的集合
  •   有很多共同的操作符(重复操作符、拼接操作符、成员关系操作符)

2.创建序列

>>> list(‘abcdefg‘)
			 
[‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘, ‘g‘]
>>> list([1,2,3,4,5])
			 
[1, 2, 3, 4, 5]
>>> list((‘a‘,1,5,8,9,6))
			 
[‘a‘, 1, 5, 8, 9, 6]
>>> 

3.重要方法

  len

>>> len((‘a‘,1,5,8,9,6))
			 
6
>>> 

  max,min

>>> a = (‘a‘,1,5,8,9,6)
			 
>>> b = (‘3‘,1,5,8,9,6)
			 
>>> max(a)
			 
Traceback (most recent call last):
  File "<pyshell#85>", line 1, in <module>
    max(a)
TypeError: ‘>‘ not supported between instances of ‘int‘ and ‘str‘
>>> max(b)
			 
Traceback (most recent call last):
  File "<pyshell#86>", line 1, in <module>
    max(b)
TypeError: ‘>‘ not supported between instances of ‘int‘ and ‘str‘
>>> b = (3,1,5,8,9,6)
			 
>>> max(b)
			 
9
>>> 

  可以看出在使用max的参数必须是数据类型一致的序列

  sum

>>> sum(b)
			 
32
>>> b = (3,1,5,8,9,6)
			 
>>> sum(b,1)
			 
33

  

  sorted

>>> b = (3,1,5,8,9,6)
			 
>>> sum(b,1)
			 
33
>>> sorted(b)
			 
[1, 3, 5, 6, 8, 9]
>>>

  reversed 

>>> numbers = [1,2,5,6,8,3,8,4]
			 
>>> reversed(numbers)
			 
<list_reverseiterator object at 0x000001EA6BA17C18>
>>> 

  这样调用是直接返回一个list对象,所以需要用list解析

<list_reverseiterator object at 0x000001EA6BA17C18>
>>> list(reversed(numbers))
			 
[4, 8, 3, 8, 6, 5, 2, 1]
>>> 

  enumerate 枚举

>>> enumerate(numbers)
			 
<enumerate object at 0x000001EA6BA326C0>
>>> list(enumerate(numbers))
			 
[(0, 1), (1, 2), (2, 5), (3, 6), (4, 8), (5, 3), (6, 8), (7, 4)]
>>> 

  enumerate返回的也是list对象,所以list解析,最终返回一个包含第一个值为索引,第二个值为值的多个元组的列表

 

  zip

>>> a = [1,2,3,4,5,6,7,8]
			 
>>> b = [5,6,5,4]
			 
>>> zip(a,b)
			 
<zip object at 0x000001EA6BAB76C8>
>>> list(zip(a,b))
			 
[(1, 5), (2, 6), (3, 5), (4, 4)]

  类似男女成对,女生数量不够就会生出很多单身狗^_^

以上是关于序列(list)的主要内容,如果未能解决你的问题,请参考以下文章

常见的代码片段

Spark闭包与序列化

无法从 onListItemClick 开始片段

Java mp4parser 片段序列不连续

elasticsearch代码片段,及工具类SearchEsUtil.java

基于时间复杂度的这些片段真的很困惑