一起学Python——数据类型详解 (2)

6、列表list
Python中常用的数据类型,用[]将所有元素括起来的集合。列表中的元素可以是任意类型,例如字符串、数字类型、布尔类型等,还可以是列表。列表中的元素通过“,”逗号分隔,列表中的元素可以修改。

创建一个列表

list1 = [1,'abc',True]

列表list1有三元素,数字类型1,字符串“abc”,布尔类型True。

读取列表元素
通过索引访问列表中的元素,下面是访问第三个元素的方法:

>>> list1 = [1,'abc',True] >>> print(list1[2]) 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

>>> list1 = [1,'abc',True] >>> print(list1) [1, 'abc', True] >>> list1[1]='def' >>> print(list1) [1, 'def', True]

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']

列表相加
两个列表通过+符号生成新的列表

>>> list1 = ['a','b','c','d','e','f','g'] >>> list2 = [1,2,3] >>> list3 = list1 + list2 >>> print(list3) ['a', 'b', 'c', 'd', 'e', 'f', 'g', 1, 2, 3]

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}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpfjss.html