列表是可变数据类型(具有增、删、改等操作)
列表方法 | 描述说明 |
---|---|
lst.append(x) | 在列表lst最后增加一个元素 |
lst.insert(index,x) | 在列表显示中第index位置增加一个元素 |
lst.clear() | 清除列表lst中所有元素 |
lst.pop(index) | 将列表lst中第index位置的元素取出,并从列表中将其删除 |
lst.remove(x) | 将列表lst中出现的第一个元素x删除 |
lst.reverse(x) | 将列表lst中的元素反转 |
lst.copy() | 拷贝列表lst中的所有元素,生成一个新的列表 |
from multiprocessing.util import log_to_stderr
lst = ['hello','world','python']
print('原列表:',lst,id(lst))
#增加元素的操作
lst.append('li')
print('增加元素之后的列表',lst,id(lst))
#使用insert(index,x)在指定的index位置上插入元素x
lst.insert(1,10)
print(lst)
#列表元素的删除操作
lst.remove('hello')
print('删除元素之后的列表',lst,id(lst))
#使用pop(index)根据索引将元素取出,然后再删除
print(lst.pop(1))
print(lst)
#清除列表中所有的元素clear()
# lst.clear()
# print(lst,id(lst))
#列表的反向
lst.reverse()
print(lst)
#列表的拷贝,将产生一个新的列表对象
new_lst = lst.copy()
print(lst,id(lst))
print(new_lst,id(new_lst))
#列表元素的修改操作
#根据索引修改元素
lst[1]='li'
print(lst)
二、列表排序的两种方式
1)列表对象的sort方法
lst.sort(key=None,reverse=False)#key表示排序的规则,reverse表示排序方式(默认升序)
lst=[4,56,3,78,40,23,89]
print('原列表:',lst)
#排序,默认是升序
lst.sort()#排序是在原列表的基础上进行的,不会产生新的列表对象
print('升序:',lst)
#降序
lst.sort(reverse=True)
print('降序:',lst)
print('-----------------英文排序--------------')
lst2=['banana','apple','Cat','Co']
print('原列表',lst2)
#升序,先排大写民,再排小写
lst2.sort()
print('升序:',lst2)
#降序,先排小写
lst2.sort(reverse=True)
print('降序:',lst2)
#忽略大小写进行比较
lst2.sort(key=str.lower)
print(lst2)
2)内置函数sorted()
sorted(iterable,key=None,reverse=False)#iterable表示的是排序的对象
lst=[4,56,3,78,40,23,89]
print('原列表:',lst)
#排序
asc_lst=sorted(lst)#产生新的对象
print('升序',asc_lst)
print('原列表:',lst)
#降序
desc_lst=sorted(lst,reverse=True)
print('降序',desc_lst)
print('原列表:',lst)
lst2=['banana','apple','Cat','Co']
print('原列表',lst2)
#忽略大小写进行排序
new_lst2=sorted(lst2,key=str.lower)
print('排序后的列表',new_lst2)
列表生成式的语法结构
lst=[expression for item in range]
lst=[expression for item in range if condion]
import random
lst=[item for item in range (1,11)]
print(lst)
lst=[item*item for item in range (1,11)]
print(lst)
lst=[random.randint(1,100) for _ in range(10)]
print(lst)
#从列表当中去选择符合条件的元素组成新的列表
lst=[i for i in range(10) if i%2==0]
print(lst)
四、二维列表的遍历 :表格数据
for row in 二维列表:
for item in row:
pass
#创建二维列表
lst=[
['城市','环比','同比'],
['北京',102,103],
['上海',123,234],
['深圳',345,221]
]
print(lst)
#遍历二维列表使用双层for循环
for row in lst:#行
for item in row:#列
print(item,end='\t')
print()#换行
#列表生成式生成一个4行5列的二维列表
lst2=[[j for j in range(5)]for i in range(4)]
print(lst2)