python3:列表和元组

        序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。最后一个为-1,倒数第二个为-2,以此类推。这就意味着我们可以从第一个元素向前或向后计数了。
索引示例:
>>> greeting='hello'
>>> greeting[0]
'h'
>>> greeting[-1]
'o'
>>> greeting[-2]
'l'

   Python有6个序列的内置类型,但最常见的是 列表和元组。序列都可以进行的操作包括 索引切片检查成员

        此外,Python已经内置确定序列的 长度以及确定 最大最小的元素的方法。如下:
>>> numbers=[100,34,678]
>>> len(numbers)
3
>>> max(numbers)
678
>>> min(numbers)
34
>>> max(2,3)
3
>>> min(2,3)
2

列表
             列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]

基本的列表操作:
(1)元素赋值

使用索引标记来为某个特定的元素赋值,如下:
>>> x=[1,1,1]
>>> x[1]=2
>>> x
[1, 2, 1]
注意,不能为一个位置不存在的元素进行赋值,也就是说在此示例中不可以用x[5],否则会报错!

(2)删除元素
用del语句实现。如下:

>>> list1 = ['physics', 'chemistry', 1997, 2000]
>>> list1
['physics', 'chemistry', 1997, 2000]
>>> del list1[1]
>>> list1
['physics', 1997, 2000]
>>> len(list1)
3
需要注意的是,del删除操作的原理。列表的长度也从4变成了3,彻底删除。除了删除列表中的元素,del还能用于字典元素甚至其他变量的删除操作。

(3)分片赋值
分片是一个非常强大的功能。可以使用与原序列等长的序列将分片替换,也可以使用不等长的序列。如下:

>>> name=list('perl')
>>> name
['p', 'e', 'r', 'l']
>>> name[2:]=list('ar')
>>> name
['p', 'e', 'a', 'r']
>>> name[1:]=list('ython')
>>> name
['p', 'y', 't', 'h', 'o', 'n']
分片赋值也可以子啊不需要替换原有元素的情况下插入新的元素。当然这个分片赋值来删除元素也是可以的。
>>> numbers=[1,5]
>>> numbers[1:1]=[2,3,4]
>>> numbers
[1, 2, 3, 4, 5]
>>> numbers[1:4]=[]
>>> numbers
[1, 5]

列表方法
序号 方法
1 list.append(obj)
在列表末尾添加新的对象
2 list.count(obj)
统计某个元素在列表中出现的次数
3 list.extend(seq)
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4 list.index(obj)
从列表中找出某个值第一个匹配项的索引位置
5 list.insert(index, obj)
将对象插入列表
6 list.pop([index=-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7 list.remove(obj)
移除列表中某个值的第一个匹配项
8 list.reverse()
反向列表中元素
9

元组:不可变序列
        
        元组和列表一样,也是一种序列。 唯一不同的是元组不能修改。
(1)创建元组
        创建元组的语法很简单,如果你用逗号分隔了一些值,那么你就自动创建了元组。元组大部分时候是用圆括号括起来的。
        那么如何实现包含一个值的元组呢?实现方式比较的奇葩, 必须在后面加上一个逗号。如下:
>>> 42
42
>>> 42,
(42,)

(2)使用下标来访问元组:
>>> tup3 = "a", "b", "c", "d"
>>> tup3
('a', 'b', 'c', 'd')
>>> tup3[1]
'b'
>>> tup3[2:4]
('c', 'd')

(3)删除元组

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组,如下实例
>>> tup3 = "a", "b", "c", "d"
>>> del tup3
>>> tup3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'tup3' is not defined
>>>

元组内置函数

Python元组包含了以下内置函数

序号 方法及描述
1 cmp(tuple1, tuple2)
比较两个元组元素。
2 len(tuple)
计算元组元素个数。
3 max(tuple)
返回元组中元素最大值。
4 min(tuple)
返回元组中元素最小值。
5 tuple(seq)
将列表转换为元组。

tuple函数的实现示例:
>>> tuple([1,2,3])
(1, 2, 3)
>>> tuple('abc')
('a', 'b', 'c')
>>> tuple((1,2,3))
(1, 2, 3)

注意,tuple并不是一种真正的函数,而是一种类型。

猜你喜欢

转载自blog.csdn.net/sunshine_lyn/article/details/81051839