list个人笔记——Python

编程入门 行业动态 更新时间:2024-10-15 06:19:20

list个人<a href=https://www.elefans.com/category/jswz/34/1770047.html style=笔记——Python"/>

list个人笔记——Python

列表[]

  • 这个东西很常用 list()用于强转换列表
  • [] 空列表 [ [] , [] ]二维列表 [ [ [3] ] , [ ] ]三维列表
  • 列表通过下标获取值,默认从左往右,下标以0开始,下标不可越界!
  • 列表是可变对象 也是可迭代对象
  • 列表直接赋给变量,会产生浅拷贝(即修改变量中元素 原列表也会变动)
  • 列表可以通过遍历赋给变量 产生(深拷贝)互不影响

列表的切片操作(这个很重要)

list1 = [1,2,3,4,5,6,7,8,9](起始下标默认为0)  步长默认为1
list1 = [star:end:sep=1]终止下标默认为最后列表长度+1切片演示list1[:]     结果 [1,2,3,4,5,6,7,8,9]
#获得list1的副本list1[::-1]  结果为[9, 8, 7, 6, 5, 4, 3, 2, 1] #相当于取反
#下标从右往左 下标从-1开始,-2list1[::]   结果和上面一样 ,即第2个:可以不写list1[2:]  结果[3,4,5,6,7,8,9] 从下标为2的开始切到最后list1[2:3]  结果  [3]  包左不包右list1[5:3:-1]   结果为[6,5]    包左不包右list1[-3:-5:-1] 结果为[7,6]list1[-3:-5:1] 结果为[  ]    -3:-5中虽然有元素  但是 元素再-3的左边   而步长1为整数  往右边走,右边没有元素即返回[]list1[::2]  结果[1, 3, 5, 7, 9]==步长为正,往右找==
==步长为负,往左找==总结先判断   前2个参数范围中是否存在元素,在判断对应方向中是否有元素      

列表的遍历

  • 我们可以通过遍历列表的下标获取列表中元素的值
list1 = [1,2,3,4,5,6,7,8,9]只要可以 for   in 遍历的都叫可迭代对象
i 会依次拿到 list1中的元素从左到右
for i in list1:print(i)

列表的增

list1 = [1,2,3]1
在对应列表最后面 插入指定文本
.append(text)
list1.append("python我的超人")
print(list1)  结果为[1, 2, 3, 'python我的超人']2
在对应列表指定下标处插入指定元素 原元素后移
.insert(index,text)
list1.insert(1,"DD斩首")下标从0开始  1的下标是0,2的下标是1
print(list1) 结果为[1, 'DD斩首', 2, 3, 'python我的超人']3
将一个列表中的元素全部加到领一个列表中的尾端
list2 = ["扶她奶茶","瑞树","脸肿"]
list1 = list1+list2print(list1) 结果为[1, 'DD斩首', 2, 3, 'python我的超人', '扶她奶茶', '瑞树', '脸肿']4
将一个可迭代对象中的元素全部加到另一个列表中的尾端!注意 可迭代对象不仅限于列表
.extend(iterable)
list3 = ["孙家天下孙家兵","属于我们的时代开始了"]
list1.extend(list3)
print(list1)结果为[1, 'DD斩首', 2, 3, 'python我的超人', '扶她奶茶', '瑞树', '脸肿', '孙家天下孙家兵', '属于我们的时代开始了']不要愚蠢的觉得+可以取代.extend()str1 = "父亲在上,魂佑江东。公瑾在旁,智定天下"list1 = list1+str1  马上就给你报错!关于字符串可以看字符串相关笔记
list1.extend(str1)
print(list1)结果为[1, 'DD斩首', 2, 3, 'python我的超人', '扶她奶茶', '瑞树', '脸肿', '孙家天下孙家兵', '属于我们的时代开始了', '父', '亲', '在', '上', ',', '魂', '佑', '江', '东', '。', '公', '瑾', '在', '旁', ',', '智', '定', '天', '下']

列表的删

list1 = [1,2,3,4,"f"]1
按下标删除列表中元素 ,默认删除列表最后一个
.pop(index=-1)list1 = [1,2,3,4,"f"]print(list1.pop())   pop 删除会返回对应元素 即f 可以用来赋值
print(list1)   结果[1,2,3,4]print(list1.pop(2))  删除了3
print(list1) 结果为[1, 2, 4]
2
按指定元素删除列表中元素
.remove(text)list2 = ["那个男人","杀人能摸排","被杀能摸排","妹妹嫁给了刘姓皇帝","他就是","饼将军比比看谁杀敌更多","那个男人"]print(list2.remove("那个男人"))  返回None
print(list2) 结果为['杀人能摸排', '被杀能摸排', '妹妹嫁给了刘姓皇帝', '他就是', '饼将军比比看谁杀敌更多',"那个男人"]即remove 从左往右找到第一个对应的元素 干掉了他!3
按下标删除
.del list[index]list3 = ["司马相如","一二三四五六七八九十百千万","卓文君","皑如山上雪","皎若云间月","闻君有两意","故来相决绝"]del list3[0]  干掉了list3中下标为0的元素print(list3)  结果为 ['一二三四五六七八九十百千万', '卓文君', '皑如山上雪', '皎若云间月', '闻君有两意', '故来相决绝']4
.clear()清空整个列表。一半不建议用,威力太大了哈人list1 = [1,2,3,4,5]
list1.clear()
print(list1)  结果[]  全被你鲨了

列表的改

因为他是可变序列所以可以通过下标修改或者你想怎么改都可以list1 = ["李白", "不爱","杜甫","爱","杜康"]list1[0]= "白某不喝酒"
print(list1)   结果为['白某不喝酒', '不爱', '杜甫', '爱', '杜康']涉及拆包的思想  list
list1[0:4]= "白某不喝酒","爱于","杜甫游"
print(list1)['白某不喝酒', '爱于', '杜甫游', '杜康']

列表的查


1
根据元素找到下标 
.index(text)list1 = ["卓文君","鱼幼薇","鱼玄机","梅落南","王昭君","蔡文姬","李清照","翟馨","上官婉儿","楚香君","柳如是","秋瑾"]b = list1.index("柳如是")
print(b) 结果为10即返回查找元素再列表中的下标位置

列表的元素统计,排序等

1
统计列表中某项元素的出现的次数list1 = ["阿尔特留斯","阿尔特留斯","阿尔特留斯","阿尔特留斯","阿尔特留斯","基亚兰","基亚兰","基亚兰","基亚兰","基亚兰"]
A = list1.count("阿尔特留斯")
print(A) 返回结果5  即阿尔特留斯在列表中出现了5次2
将列表中元素进行排序  默认从小到大
.sort(reverse=False)list1 = [7,2,4,5,2,6,1]
list1.sort()
print(list1) 结果为   [1, 2, 2, 4, 5, 6, 7]
list1.sort(reverse=True)print(list1) 结果为 [7, 6, 5, 4, 2, 2, 1]3
将列表进行水平反转输出
.reverse()list1 = [1,2,3,4,5,6,7]list1.reverse()
print(list1) 结果为[7, 6, 5, 4, 3, 2, 1]

二维列表元素获取

list1 = [ ["鲁迅","周树人","长庚","风声"],["张心远","张恨水"] ]for i in range(len(list1)):for j in range(len(list1)):print(list1[i][j],end=",")默认end="\n"  换行这里是把指定,即把换行改成,输出的结果为鲁迅,周树人,张心远,张恨水,

二维列表推导式

import randommines = []
for row in range(4):tmp=[]for col in range(8):tmp.append(random.randint(0,1))mines.append(tmp)print(mines)下面这个是上面的推导式
ob_num = [[random.randint(0,1) for i in range(8)] for j in range(4)]print(ob_num)100个元素每三个去一次
res = [i for i in range(1,101)]
res1 = [res[x:x+3] for x in range(0,100,3)]
print(res1)组成元祖
res = [(x,y) for x in range(5,9) for y in range(10,20)]
print(res)
结果为[(5, 10), (5, 11), (5, 12), (5, 13), (5, 14), (5, 15), (5, 16), (5, 17), (5, 18), (5, 19), (6, 10), (6, 11), (6, 12), (6, 13), (6, 14), (6, 15), (6, 16), (6, 17), (6, 18), (6, 19), (7, 10), (7, 11), (7, 12), (7, 13), (7, 14), (7, 15), (7, 16), (7, 17), (7, 18), (7, 19), (8, 10), (8, 11), (8, 12), (8, 13), (8, 14), (8, 15), (8, 16), (8, 17), (8, 18), (8, 19)]

random的几个扩充

返回序列中随机一个元素
random.choic(list1)打乱可迭代对象的排序
random.shuffle(list1)

更多推荐

list个人笔记——Python

本文发布于:2024-03-10 17:15:20,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1728560.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:笔记   list   Python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!