作为一个Python初学者,我想通过写博客的方式来记录下来自己成长的过程,同时也分享一下自己学习到的知识。以下都是一个Python初学者对Python语言的一些浅见和个人理解。
‘’'1.①列表的创建
基本语法[]创建
list()创建
②range()创建整数列表
语法格式:range([start] end [step])
start参数:可选,表示起始数字,默认是0
end参数:必选,表示结尾数字
step参数:可选,表示步长,默认为1
③使用列表推导式可以非常方便的创建列表
‘’’
#test1(列表的创建) a = [10,20,"xixi",'ayg'] #列表里的元素可以为任何类型,不必为同一类型 print(a) a = list() #创建一个空的列表对象 a = list(range(10)) print(a) a = list("xixi,ayg") print(a) #test2(range()) a = list(range(3,15,2)) print(a) b = list(range(15,3,-1)) print(b) c = list(range(3,-10,-1)) print(c) #test3(列表推导式) a = [x*2 for x in range(5)] #循环创建多个元素 print(a) b = [x*2 for x in range(100) if x%9 == 0] print(b)
‘’'2.列表元素的增加和删除
当列表增加和删除元素时,列表会自动进行内存管理。但是若增加和删除元素
不是在列表尾部,会使大量的元素位置移动,效率较低。因此,一般只在列表的尾部进
行增加或删除 *** 作
①append()方法:(只能添加一个元素)原地修改列表对象,是真正的列表尾部添加新的元素,速度最快
②+运算符 *** 作:(可以添加多个元素)并不是真正的在尾部添加元素,而是创建新的列表对象,将原列表的元素和新列表的元素
依次复制到新的列表对象中。这样,会涉及大量的复制 *** 作,对于 *** 作大量元素不建议使用
③extend()方法:(可以添加多个元素)将目标列表的所有元素添加到本列表的尾部,属于原地 *** 作,不创建新的列表对象
④insert()插入元素:将指定元素插入到任意指定位置,效率较低
⑤乘法扩展:使用乘法扩展列表,新列表元素是原列表元素的多次重复
⑥del删除:删除列表指定位置的元素
⑦pop()方法:pop()删除并返回指定位置元素,如果未指定位置则默认 *** 作列表最后一个元素
⑧remove()方法:删除首次出现的指定元素,若不存在该元素抛出异常
‘’’
#test1(append()) a = [20,40] print(a) a.append(80) print(a) #test2(+) a = [20,40] print(id(a)) print(a) a = a + [50,60] print(id(a)) print(a) #test3(extend()) a = [20,40] print(id(a)) print(a) a.extend([50,60,70]) print(id(a)) print(a) #test4(insert()) a = [10,20,30] print(a) a.insert(2,100) print(a) #test5(乘法扩展) a = ['ayg',888] b = a*3 print(b) #test6(del) a = [10,20,30] del a[1] print(a) #test7(pop()) a = [10,20,30,40,50] a.pop() print(a) a.pop(1) print(a) #test8(remove()) a = [10,20,30,40,50,20,30,20,30] a.remove(20) print(a)
‘’‘3.列表元素访问和计数
①通过索引直接访问元素:我们可以通过索引直接访问元素。索引区间在[0,列表长度-1]这个范围,超过这个范围则会抛出异常
②index():获取指定元素首次出现的索引为止。语法是:index(value,[start,[end]])。
其中,start和end指定了搜索的范围
③count()获得指定元素在列表中出现的次数
④len()返回列表长度,即列表中包含元素的个数
⑤in:判断列表中是否存在指定的元素
‘’’
#test1(索引直接访问) a = [10,20,30,40,50,20,30,20,30] print(a[2]) #test2(index()) a = [10,20,30,40,50,20,30,20,30] print(a.index(20)) print(a.index(20,3)) print(a.index(30,5,7)) #test3(count()) a = [10,20,30,40,50,20,30,20,30] print(a.count(20)) #test4(len()) a = [10,20,30] print(len(a)) #test5(in) a = [10,20,30,40,50,20,30,20,30] print(20 in a) print(100 not in a)
‘’‘4.①slice切片 *** 作:和之前的字符串切片 *** 作一样
②列表的遍历
‘’’
#test1(slice) a = [10,20,30] print(a[:]) print(a[1:3:1]) #test2(遍历) a = [10,20,30,40,50,60] for x in a: print(x)
‘’‘5.①sort():修改原列表,不建新列表的排序
②sorted():返回新列表,不对原列表做修改
③reversed():不对原列表做任何修改,只是返回一个逆序排列的迭代器对象
④max和min:用于返回列表中最大和最小值
⑤对数值型列表的所有元素进行求和 *** 作,对非数值型列表运算则报错
‘’’
#test1(sort()) a = [20,10,30,40] print(id(a)) a.sort() #默认是升序排序 print(a) print(id(a)) a.sort(reverse=True) #降序排序 print(a) import random random.shuffle(a) #打乱排序 print(a) #test2(sorted()) a = [20,10,30,40] print(id(a)) a = sorted(a) #默认升序 print(a) print(id(a)) c= sorted(a,reverse=True) print(c) print(id(c)) #test3(reversed()) a = [20,10,30,40] c = reversed(a) print(c) print(list(c)) #test4(max() min()) a = [40,30,20,10] print(max(a)) print(min(a)) #test5(sum()) a = [3,10,20,15,9] print(sum(a))
‘’'6.多维列表
‘’’
#test a = [ ["张三",18,50000,"北京"], ["李四",19,100000,"深圳"], ["王五",20,80000,"上海"], ] for m in range(3): for n in range(4): print(a[m][n],end = 't') print() #打印完一行,换行
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)