6、列表list
Python中常用的数据类型,用[]将所有元素括起来的集合。列表中的元素可以是任意类型,例如字符串、数字类型、布尔类型等,还可以是列表。列表中的元素通过“,”逗号分隔,列表中的元素可以修改。
创建一个列表:
list1 = [1,'abc',True]列表list1有三元素,数字类型1,字符串“abc”,布尔类型True。
读取列表元素:
通过索引访问列表中的元素,下面是访问第三个元素的方法:
将2变为-2时就是读取倒数第2个元素:
>>> list1[-2] 'abc'索引-1是读取最后一个元素:
>>> list1[-1] True当索引越界时出报“IndexError: list index out of range”列表索引超出范围的错误。
>>> print(list1[4]) Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range求列表长度:
>>> list1 = [1,'abc',True] >>> print(len(list1)) 3替换列表元素:
通过索引可以直接替换掉列表指定位置的元素,注意索引越界。下面代码将list1列表第二个元素从abc变为def
pop方法删除列表元素:
>>> list1 = [1,'abc',True] >>> list1.pop() True >>> print(list1) [1, 'abc'] >>> list1.pop(0) 1 >>> print(list1) ['abc']pop()方法删除最有一个元素,pop(j)方法删除指定元素,j是索引,注意索引越界的问题。
截取列表:
>>> list1 = ['a','b','c','d','e','f','g'] >>> list2 = list1[2:4]#截取从list1的第三个元素开始到第五个元素截止生成新的列表list2 >>> print(list2) ['c', 'd'] >>> list3 = list1[2:]#从list1列表的第三个元素开始截取生成列表list3 >>> print(list3) ['c', 'd', 'e', 'f', 'g']列表相加:
两个列表通过+符号生成新的列表
7、tupple元组
使用()将不同类型元素括起来的集合,元组的特点是数据不能修改。
和list列表一样,tupple中的元素不限制类型,既可以是整型,也可以是布尔型、list列表等,元素之间用逗号分隔。
创建一个tuple:
>>> tuple_a = (1,'abc',False) >>> print(tuple_a) (1, 'abc', False)如果创建的tuple只有一个元素时,必须在唯一的一个元素后面加上“,”来消除歧义:
>>> tuple_c = (1) >>> print(tuple_c) 1 >>> tuple_d = (1,) >>> print(tuple_d) (1,)通过上面的代码可知,如果不在唯一的一个元素后面加上一个",",Python就会认为tuple_c是数字1而不是创建一个tuple实例。
试图修改tuple中的元素时会报TypeError: 'tuple' object does not support item assignment的错误:
>>> tuple_a[0] = 2 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment读取tupple中的元素:
>>> tupple_a = (1,'abc',False) >>> print(tupple_a[2]) False虽然tuple中的元素是不可修改的,但是可以在创建的tuple实例中添加一个list元素,达到元素可变的目的:
>>> tuple_a = (1,[2,'abc']) >>> print(tuple_a) (1, [2, 'abc']) >>> tuple_a[1][1]='def' >>> print(tuple_a) (1, [2, 'def'])上面的代码达到了修改tuple实例中元素的目的。
和list列表一样,,tuple也支持tuple相加、截取的操作:
>>> tuple_a = (1,2) >>> tuple_b = ('a','b') >>> tuple_c = tuple_a + tuple_b #两个tuple相加 >>> print(tuple_c) (1, 2, 'a', 'b') >>> print(tuple_c[1:3])#截取tuple (2, 'a') >>> print(tuple_c[1:])#截取tuple (2, 'a', 'b')由于tuple的元素不可修改,因此tuple没有删除元素的方法。
8、Set集合
通过{}符号,将元素括起来的数据类型,元素之间以","逗号分隔,Set集合内的元素不能重复。
创建Set集合:
>>> set_a = set([1,2,3,'a','b','c']) >>> print(set_a) {'a', 1, 2, 3, 'c', 'b'} >>> b = {1,2,'a','c'} >>> print(b) {'a', 1, 2, 'c'}创建一个set有两种方式:
1、使用set()方法,这种方式必须提供一个list作为参数。
2、使用{}方式,如果是创建空的set集合,必须使用set(),{}这种方式是创建空的dict词典。
从上面的代码可以看到set中的元素时无序的。
set会自动过滤掉重复的元素:
>>> set_a = set([1,2,3,2,3,'a','b','c','b','a']) >>> print(set_a) {'a', 1, 2, 3, 'c', 'b'}增加set集合元素:
>>> set_a.add(21) >>> print(set_a) {'a', 1, 2, 3, 'c', 'b', 21}