一、列表的创建与操作

python里面的列表就相当于其他语言的数组。

创建列表的第一种方式,使用[ ]

创建列表的第二种方式,使用list[ ] 

lst=['hello','world',98]
lst2=list([10,20,30])
print(lst)  #['hello', 'world', 98]
print(lst2) #[10, 20, 30]
结果:

列表的特点

1.有序排序

2.索引映射唯一数据

3.列表可存储重复数据

4.任意数据类型可以混存

5.根据需要动态分配和回收内存

二、列表中元素的查询

1、获取指定元素的索引

  1. 存在n个相同的元素,只返回第一个的索引
  2. 若不存在,输出ValuEerror
lst=['hello','world',98,'hello']
print(lst.index('hello'))#输出列表中含有hello的第一个索引
print(lst.index('hello',1,4))#输出列表中第二个到第五个(不包含第五个)中包含有hello的第一个索引
print(lst.index('hello',1,3))#输出列表中第二个到第四个(不包含第四个)中包含有hello的第一个索引
由于lst[1]、lst[2]、lst[3]、lst[4]分别是'world',98,'hello',' '。其中第二行代码就是从'world',98,'hello'找包含有hello的第一个索引,所有结果是3,而第三行代码就是从'world',98中找包含有hello的第一个索引,但其中并没有hello,所以输出ValuEerror



2、获取单个元素

从列表中获取单个元素,如果所求的数是0和正数,则是列表中第i+1个元素;若是负数,则是逆序第i个数据。

3、获取多个元素

通过语句lst[start,stop,step],表示从lst[start]到lst[stop]的元素中每隔step个获取元素。具体代码如下:

lst=[1,2,3,4,5,6,7,8,9]
print(lst[1:9:2])#输出1-9的偶数
print(lst[0:9:2])#输出1-9的奇数

结果

python 列表的基本操作 分析与讨论 python列表基本操作心得_赋值

4、判断对象是否在元素中存在

通过in和not in语句判断对象是否在元素中存在。

lst=['hello','world',98,'hello']
print('hello'in lst)
print('hello' not in lst)

结果

python 列表的基本操作 分析与讨论 python列表基本操作心得_内置函数_02

5、遍历列表元素

通过for-in循环体可以实现,具体代码如下

lst=['hello','world',98,'hello']
for item in lst:
    print(item)

结果

python 列表的基本操作 分析与讨论 python列表基本操作心得_升序_03

三、列表中元素的增加

列表中元素增加的方法

append()

在列表末尾添加一个元素

extend()

在列表末尾至少添加一个元素

insert()

在列表任意位置添加一个元素

切片

在列表任意位置至少添加一个元素

注意:如果将列表lst2[]加入列表lst[]中,,若列表lst[]中元素个数为n,列表lst2[]中元素个数为m,则通过方法append()则列表lst2[]作为一个元素添加到列表lst[]中,此时列表lst[]中元素个数为n+1。而通过方法extend()则列表lst2[]中的所有元素都添加到列表lst[]中,此时列表lst[]中元素个数为n+m。具体代码:

lst=[1,2,3,4,5,6,7,8,9]
lst2=['hello','world',98]
lst.append(lst2)
print(lst)
lst=[1,2,3,4,5,6,7,8,9]
lst2=['hello','world',98]
lst.extend(lst2)
print(lst)

结果

python 列表的基本操作 分析与讨论 python列表基本操作心得_python_04

四、列表中元素的删除

列表删除的方法

remove(a)

删除一个列表中值为a的元素,若是重复元素则删除其中一个

pop()

删除一个指定索引位置的元素,若不指定索引位置,删除最后元素

切片

至少删除一个元素

clear()

清空列表

del

删除列表

五、列表中元素的修改

修改有两种方法,修改列表中指定索引位置的值和为指定的切片赋予一个新值。

具体代码如下:
 

print('............为指定索引位置赋值.............')
lst=[1,2,3,4,5,6,7,8,9]
lst[2]=200
print(lst)

print('............为指定切片赋值.............')

lst[1:4]=[300,400,500,600]
print(lst)

结果

python 列表的基本操作 分析与讨论 python列表基本操作心得_升序_05

六、列表中元素的排序

列表中排序的方法

sort()

默认升序排序,可通过指定reverse=true使列表中元素降序,在源列表中排序

内置函数sorted()

默认升序排序,可通过指定reverse=true使列表中元素降序,该方案相当于创建了另一个列表进行排序

具体代码如下:

print('............调用方法sort.............')
lst=[10,22,13,47,35,96,27,38,79]
print(id(lst))
lst.sort()
print(lst,id(lst))
lst.sort(reverse=True)
print(lst,id(lst))

print('............调用内置函数sorted.............')
print(id(lst))
new_list=sorted(lst)
print(new_list,id(new_list))
new_list=sorted(lst,reverse=True)
print(new_list,id(new_list))

结果

python 列表的基本操作 分析与讨论 python列表基本操作心得_python_06

七、列表推导式

语法表示:a*i for i in range()

具体实现:

print('............输出1-9.............')
lst=[i for i in range(1,10)]
print(lst)
print('............输出1-19中的偶数............')
lst=[2*i for i in range(1,10)]
print(lst)

结果

python 列表的基本操作 分析与讨论 python列表基本操作心得_python_07