泰山版初中信息技术第1册python编程中出现了列表这种数据结构,它与C语言中的数组有相似之处,但python的列表是比较强大的,也很灵活。
一、列表是Python中内置有序、可变序列,列表的所有元素放在一对中括号“[]”中,并使用逗号分隔开;
二、在Python中,一个列表中的数据类型可以各不相同,可以同时分别为整数、实数、字符串等基本类型,甚至是列表、元组、字典、集合以及其他自定义类型的对象,下面的列表都是正确的:
[10, 20, 30, 40]
['crunchy frog', 'ram bladder', 'lark vomit']
['spam', 2.0, 5, [10, 20]]
[['file1', 200,7], ['file2', 260,9]]
三、列表的创建:
1、直接使用"[]"创建,课本中就是用了这种创建列表的方法。
2、也可以使用list()函数创建列表,如:
也就是说list()函数可以将元组、range对象、字符串或其他类型的可迭代对象类型的数据转换为列表。
四、列表常用方法
方法 | 说明 |
lst.append(x) | 将元素x添加至列表lst尾部 |
lst.extend(L) | 将列表L中所有元素添加至列表lst尾部 |
lst.insert(index, x) | 在列表lst指定位置index处添加元素x,该位置后面的所有元素后移一个位置 |
lst.remove(x) | 在列表lst中删除首次出现的指定元素,该元素之后的所有元素前移一个位置 |
lst.pop([index]) | 删除并返回列表lst中下标为index(默认为-1)的元素 |
lst.clear() | 删除列表lst中所有元素,但保留列表对象 |
lst.index(x) | 返回列表lst中第一个值为x的元素的下标,若不存在值为x的元素则抛出异常 |
lst.count(x) | 返回指定元素x在列表lst中的出现次数 |
lst.reverse() | 对列表lst所有元素进行逆序 |
lst.sort(key=None, reverse=False) | 对列表lst中的元素进行排序,key用来指定排序依据,reverse决定升序(False),还是降序(True) |
lst.copy() | 返回列表lst的浅复制 |
列表元素的增加
1、可以使用“+”运算符将元素添加到列表中。
需要注意的是:严格意义上来讲,这并不是真的为列表添加元素,而是创建了一个新列表,并将原列表中的元素和新元素依次复制到新列表的内存空间。由于涉及大量元素的复制,该操作速度较慢,在涉及大量元素添加时不建议使用该方法。
注:id() 函数用于获取对象的内存地址。
Python采用的是基于值的自动内存管理方式,当为对象修改值时,并不是真的直接修改变量的值,而是使变量指向新的值,这对于Python所有类型的变量都是一样的,老师们可以自行测试一下其他类型的变量。
2、使用列表对象的append()方法在当前列表尾部追加元素,原地修改列表,是真正意义上的在列表尾部添加元素,速度较快。
[1,3, 5, 9]所谓“原地”,是指不改变列表在内存中的首地址。
3、使用列表对象的insert()方法将元素添加至列表的指定位置。
list列表对象的其他方法,就不在一一举例了,请老师们自己试试吧。