Python基础(列表)
一,为什么需要列表
-
变量可以存储一个元素,而列表是一个“大容器”可以存储N个元素,程序可以方便地对这些数据进行整体操作
-
列表相当于其他语言中的数组
列表对象有自己的存储空间,里面存储的是N多个对象的id,这些id再指向这N多个对象的存储空间
二,列表对象的创建
-
列表需要使用中括号[],元素之间使用英文的逗号进行分隔
''' 创建列表的第一种方式,使用[] ''' lst=['hello','world',98] ''' 创建列表的第二种方式,使用内置函数list() ''' lst2=list(['hello','world',98]) #也要赋值给一个对象
-
三个连续的空间,存储的是三个元素的对象的id,这三个连续空间是列表对象,赋值给lst对象
三,列表的特点
-
列表的元素按顺序有序排序
-
lst=['hello','world',98] print('输出整个列表:',lst) print('输出第一个元素',lst[0]) print('输出第二个元素',lst[1]) print('输出第三个元素',lst[2])
输出:
输出整个列表: ['hello', 'world', 98] 输出第一个元素 hello 输出第二个元素 world 输出第三个元素 98
说明:是按顺序排,创建时的顺序是什么样,就是什么样
输出的时候,索引是从0开始
输出单个的方式 lst[0] : 即:列表名+[索引]
-
-
索引映射唯一个数据
print(‘输出第一个元素’,lst[0]) ‘hello’
print(lst[-3])
输出:
hello
还可以逆序,逆序从-1开始
print(lst[-1])
输出: 98
- 列表可以存储重复数据
lst3= ['hello','world',98,'hello']
print(lst3)
输出:
[‘hello’, ‘world’, 98, ‘hello’]
- 任意的数据类型可以混存
- 一个列表内可以存各种类型数据,如上
- 根据需要动态分配和回收内存
- 不用担心存一百个,一千个数据,是否存得下,不用担心多,也不用担心少
四,列表的操作
获取列表中指定元素的索引
-
lst=['hello','world',98,'hello'] print(lst.index('hello'))
输出: 0
如果列表中有多个相同的这个元素,则只返回列表中相同元素的第一个的索引
如果列表中没有这个元素,会抛出异常
获取列表中的单个元素
-
lst=['hello','world',98,'hello'] print(lst.index('hello')) print(lst.index('hello',1,4)) #3
第二个什么意思?list中有’hello’,找hello的索引位置,并且后面指定了在1到4,不包括4的位置上找,然后找到了3,输出3
print(lst.index('hello',0,4)) #0
如果是在0到4,不包括4上找,就会找到0,因为只返回一个值,
print(lst.index('hello',1,3))
因为索引1到索引2上均没有,所以返回值为空,但是不报错,就是不打印了
-
有正向索引,有逆向索引
-
索引不存在将报错
获取列表中的多个元素_切片操作
-
第一种
print('------切片操作-----') lst=[10,20,30,40,50,60,70,80,90] print(lst[1:6:1]) #意思:从索引1到索引6,不包括6,步长为1,切出来,成一个新索引 print(type(lst[1:5:1]))
输出:
------切片操作----- [20, 30, 40, 50, 60] <class 'list'>
可以对比id
print('------切片操作-----') lst=[10,20