列表是指一系列的按特定顺序排列的元素组成。
是Python中内置的可变序列。
在Python中使用[]定义列表,元素与元素之间使用英文的逗号分隔。
列表中的元素可以是任意的数据类型。
列表的创建方式有两种:
1)使用[]直接创建列表
语法结构如下:
列表名=[element1,element2,...elementN]
2)使用内置函数list()创建列表
语法结构如下:
列表名=list(序列)
列表删除
语法结构如下:
del 列表名
l1=['hello','world',10,90.5] print(l1) l2=list('helloworld') l3=list(range(1,10,2)) print(l2) print(l3) print(l1+l2+l3) #列表的相加 print(l1*2) #列表的相乘操作 print(len(l1)) #列表的长度 print(max(l3)) #列表中元素的最大值 print(min(l3)) #列表中元素的最小值 print(l3.count('o')) #'o' 在列表中出现的 次数 print(l3.index('o')) #'o'在列表中第一次出现的位置 del l1 #删除列表
enumerate函数的使用语法结构:
for index,item in enumerate(list): 输出index和item
l=['hello','welcome','beijing'] print(l) #第一种遍历 元素遍历 for item in l: print(item) print('*'*50) #第二种遍历 range() len() 索引遍历 for i in range(0,len(l)): print(l[i]) print('*'*50) #第三种遍历 enumerate() 其中index是序号,不是索引,是可以变更的 for index,item in enumerate(l): print(index,item) for index,item in enumerate(l,start=1): print(index,item)
列表的相关操作方法
| 列表的方法 | 描述说明 |
| lst.append(x) | 在列表lst最后增加一个元素 |
| lst.insert(index,x) | 在列表中第index位置增加一个元素 |
| lst.clear() | 清除列表lst中所有元素 |
| lst.pop(index) | 将列表lst中第index位置的元素取出,并从列表中将其删除 |
| lst.remove(x) | 将列表lst中出现的第一个元素x删除 |
| lst.reverse() | 将列表lst中的元素反转 |
| lst.copy() | 拷贝列表lst中的所有元素,生成一个新的列表 |
lst=['hello','world','python'] print('原列表',lst,id(lst)) #列表内容以及列表的内存地址 # append()新增元素 lst.append('append') lst.append(10) lst.append('world') print('append方法',lst) # insert() 在指定的index位置新增元素 lst.insert(1,'welcome') print('insert方法',lst) # 删除在列表中第一次出现的目标元素 lst.remove('world') print('remove方法',lst) # 将指定index位置的元素获取出来,并将其从列表删除掉 s=lst.pop(1) print('pop方法',s,lst) #复制列表 复制列表的内容,其内存地址已经改变 new_lst=lst.copy() print(lst,id(lst)) print(new_lst,id(new_lst)) #修改列表元素内容 lst[1]='mysql' print(lst) #列表的倒序 lst.reverse() print(lst) # 清空列表中的元素 lst.clear() print('clear方法',lst)
列表排序的两种方式
1)列表对象的sort方法,这种方式使得原列表中的元素顺序已经发生改变。
lst.sort(key=None,reverse=False)
key:表示排序规则,默认为None
reverse:表示排序方式,默认为False,升序
2)内置函数sorted() ,这种方式是将排好序的结果生成一个新的序列,原有的序列中元素的顺序并没有发生改变。
sorted(iterable,key=None,reverse=False)
iterable:表示排序的对象
key:表示排序规则,默认为None
reverse:表示排序方式默认为False,升序
tem_lst=[10,2,3,8,3,5,2,1] print('原列表',tem_lst) #默认为升序 tem_lst.sort() print('升序',tem_lst) #降序 tem_lst.sort(reverse=True) print('降序',tem_lst) print('*'*50) tem_lst=['hello','World','welcome','Beijing','to'] print('原列表',tem_lst) #未设置排序规则 tem_lst.sort() print(tem_lst) # 按照字符的大写排序 tem_lst.sort(key=str.upper) print(tem_lst) #安装字符的小写排序 tem_lst.sort(key=str.lower) print(tem_lst) #sorted内置函数排序 tem_lst=[5,8,10,2,5,8] new_list=sorted(tem_lst) print('升序',new_list) new_list=sorted(tem_lst,reverse=True) print('降序',new_list) tem_lst=['hello','World','welcome','Beijing','to'] print('原列表',tem_lst) new_lst=sorted(tem_lst,key=str.upper) print(new_lst) new_lst=sorted(tem_lst,key=str.lower) print(new_lst)
列表生成式的语法结构
lst=[expression for item in range] lst=[expression for item in range if condition]
lst=[item for item in range(1,11)] print(lst) # lst=[item*item for item in range(1,11)] print(lst) # 随机生成10个1至100之间的随机数 lst=[random.randint(1,100) for _ in range(10)] print(lst) lst=[item for item in range(1,11) if item%2==1] print(lst)
二维列表的遍历:
for row in 二维列表: for item in row: pass
lst=[ ['城市','环比','同比'], ['上海','110','108'], ['北京','109','112'], ['武汉','99','98'] ] print(lst) #遍历二维列表 for row in lst: for item in row: print(item,end=' ') print() # 生成一个二维列表 lst2=[[j for j in range(5)]for i in range(4)] print(lst2)
posted on
浙公网安备 33010602011771号