目录
一. 创建与删除
(一)创建
(二)删除
二. 访问元素
(一)print( )输出
(二)索引
(三)切片
三. 遍历列表
(一)for循环遍历
(二)enumerate函数
(三)for循环和enumerate函数
四. 添加、修改、删除列表元素
(一)添加元素
(二)修改元素
(三)删除元素
五. 列表统计
(一)统计出现次数
(二)元素首次出现
(三)求和(数值列表)
六. 排序(数值列表)
七. 列表推导式
八. 二维列表
(一)直接创建
(二)for循环创建
(三)列表推导式创建
列表是Python中的可变序列,即元素可以修改。列表所有元素放在中括号“[ ]”中,元素之间用逗号","隔开。
列表元素可以是列表、元组、字典、数字、字符、字符串等*
一. 创建与删除
(一)创建
1. 通过赋值直接创建
列表名 = [元素1, 元素2, ... , 元素n]
list_1 = [5,10,"Python",[1,2,3],'A'] print(list_1) # [5, 10, 'Python', [1, 2, 3], 'A']2.创建空列表
列表名 = [ ]
list_2 = [] print(list_2) # []3.list( )函数转换
列表名 = list(字符串或元组等其他序列)
str = "我爱学习Python" list_3 = list(str) print(list_3) # ['我', '爱', '学', '习', 'P', 'y', 't', 'h', 'o', 'n'](二)删除
del 列表名
del list_1二. 访问元素
(一)print( )输出
print(列表名)
mot = ["坚持下去不是因为我很坚强,而是因为我别无选择。", "含泪播种的人一定能笑着收获。", "做对的事情比把事情做对重要。", "命运给予我们的不是失望之酒,而是机会之杯。", "明日永远新鲜如初,纤尘不染。", "求知若饥,虚心若愚。", "成功将属于那些从来不说“不可能”的人。"] print(mot)(二)索引
列表名 [ 索引值 ]
import datetime mot = ["坚持下去不是因为我很坚强,而是因为我别无选择。", "含泪播种的人一定能笑着收获。", "做对的事情比把事情做对重要。", "命运给予我们的不是失望之酒,而是机会之杯。", "明日永远新鲜如初,纤尘不染。", "求知若饥,虚心若愚。", "成功将属于那些从来不说“不可能”的人。"] day = datetime.datetime.now().weekday() print(mot[day])(三)切片
列表名 [start : end : step ]
mot = ["坚持下去不是因为我很坚强,而是因为我别无选择。", "含泪播种的人一定能笑着收获。", "做对的事情比把事情做对重要。", "命运给予我们的不是失望之酒,而是机会之杯。", "明日永远新鲜如初,纤尘不染。", "求知若饥,虚心若愚。", "成功将属于那些从来不说“不可能”的人。"] print(mot[1::2])三. 遍历列表
(一)for循环遍历
verse = ["青青园中葵","朝露待日晞", "阳春布德泽","万物生光辉", "常恐秋节至","焜黄华叶衰", "百川东到海","何时复西归", "少壮不努力","老大徒伤悲"] for i in verse: print(i)(二)enumerate函数
- enumerate() 函数用于将一个序列的元素,逐个组合并输出 ( 索引值 , 元素值 )
seasons = ['Spring', 'Summer', 'Fall', 'Winter'] print(enumerate(seasons)) # <enumerate object at 0x00000280B316A8E0> print(list(enumerate(seasons))) # [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')](三)for循环和enumerate函数
print(" "*5,"长歌行") verse = ["青青园中葵","朝露待日晞", "阳春布德泽","万物生光辉", "常恐秋节至","焜黄华叶衰", "百川东到海","何时复西归", "少壮不努力","老大徒伤悲"] for index,item in enumerate(verse): if index % 2 == 0: print(item + ",",end="") else: print(item + "。")四. 添加、修改、删除列表元素
(一)添加元素
列表名.append(新元素)
将“新元素”添加至“原列表”的元素后面
verse_1 = ["自古逢秋悲寂寥","我言秋日胜春朝","晴空一鹤排云上","便引诗情到碧霄"] verse_2 = "刘禹锡 《秋词》" verse_1.append(verse_2) print(verse_1)列表名.insert(x,新元素)
- 在索引x位置前添加“新元素”
verse_1 = ["自古逢秋悲寂寥","我言秋日胜春朝","晴空一鹤排云上","便引诗情到碧霄"] verse_2 = "刘禹锡 《秋词》" verse_1.insert(1,verse_2) print(verse_1)* 列表1.extend(列表2)
- 将列表2元素添加到列表1后面
verse_1 = ["自古逢秋悲寂寥","我言秋日胜春朝","晴空一鹤排云上","便引诗情到碧霄"] verse_2 = "刘禹锡 《秋词》" verse_1.extend(list(verse_2)) print(verse_1)(二)修改元素
列表名[x]=新元素
- 将“列表”中索引值为x的元素,替换为“新元素”**
verse = ["长亭外","古道边","芳草碧连天"] verse[1] = "一行白鹭上青天" print(verse)(三)删除元素
del 列表名[x]
- 将索引值为x的元素删除
verse = ["长亭外","古道边","芳草碧连天"] del verse[1] print(verse)列表名.count(元素x)
- 判断元素是否存在
verse = ["长亭外","古道边","芳草碧连天"] if verse.count("长亭外") >0: print("元素存在") else: print("元素不存在")列表名.remove[元素x]
- 将“列表”中指定元素“元素x”删除
verse = ["长亭外","古道边","芳草碧连天"] verse.remove("长亭外") print(verse)五. 列表统计
(一)统计出现次数
列表名.count(元素x)
verse = ["常记溪亭日暮","沉醉不知归路", "兴尽晚回舟","误入藕花深处", "争渡","争渡","惊起一滩鸥鹭"] print(verse.count("争渡"))(二)元素首次出现
列表名.index(元素x)
verse = ["常记溪亭日暮","沉醉不知归路", "兴尽晚回舟","误入藕花深处", "争渡","争渡","惊起一滩鸥鹭"] print(verse.index("争渡"))(三)求和(数值列表)
sum(数值列表名)
grade = [1,2,3,4,5,6,7,8,9] print(sum(grade))六. 排序(数值列表)
列表名.sort(key = None , reverse = False )
- key:指定一个从每个列表元素中提取一个比较键。
- reverse:True(降序排列)、False(默认,升序排列)
grade = [98,99,97,100,96,94,89,95,100] print("原列表:",grade) grade.sort() print("升 序:",grade) grade.sort(reverse=True) print("降 序:",grade)sort( )函数对字符串列表先对大写字母排序,后再对小写字母排序;若排序时不区分大小写,则需要指定key参数。
char = ["cat","Tom","Angela","pet"] char.sort() print("区分大小写",char)#默认先大写A~Z,再小写a~z char.sort(key=lambda x:x.lower()) print("不区分大小写",char) # 区分大小写 ['Angela', 'Tom', 'cat', 'pet'] # 不区分大小写 ['Angela', 'cat', 'pet', 'Tom']新列表名 = sorted(列表名, key , reverse )
- key:指定一个从每个列表元素中提取一个比较键。
- reverse:True(降序排列)、False(默认,升序排列)
grade = [98,99,97,100,96,94,89,95,100] print("原列表:",grade) grade_1 = sorted(grade) print("升 序:",grade_1) grade_2 = sorted(grade,reverse=True) print("降 序:",grade_2)七. 列表推导式
列表推导式可以快速生成指定需求的列表
list_1 = [i*i for i in range(2,11,2)] print(list_1)import random list_1 = [] for i in range(10): list_1.append(random.randint(10,100)) print(list_1)八. 二维列表
(一)直接创建
列表名 = [[子列表],[子列表],...,[子列表]]
student_grade = [['学号1','姓名1',95,95], ['学号2','姓名2',99,99], ['学号3','姓名3',98,98], ['学号4','姓名4',97,97], ['学号5','姓名5',96,96]] print(student_grade)(二)for循环创建
arr = [] for i in range(4): arr.append([]) for j in range(5): arr[i].append(i+j) print(arr)(三)列表推导式创建
arr = [[j for j in range(5)] for i in range(4)] print(arr)