
中国史之【阪泉之战】:
黄帝征服中原各族的过程中,与炎帝两部落在阪泉进行了一次战争,通过此战,黄帝战胜了炎帝,取代了炎帝在黄河流域各部落中盟主的地位,从而形成了炎黄部落联盟,构成了后来的华夏民族,后代就被称为了“炎黄子孙”。
-来源:全历史APP
今天讲python的列表类型。有需要的也可以直接去我的github查看全部笔记:
https://github.com/JackKoLing/python_notes_with_ten_days
俗话说:“好记性不如烂笔头”,多写写多记记,总不会错。多一些不为什么的坚持,少一些功利主义的追求。
对于环境的配置,可以参考以下两篇:
l1 = [] print(id(l1)) >>> 2507620257288
注:>>>表示output,下同。
l2 = [1,2,3,4,5] print(l2) >>> [1, 2, 3, 4, 5] l3 = [1, 'b'] # 异构 print(l3) >>> [1, 'b'] l4 = [[1, 2], ['a', 'b']] # 嵌套 print(l4) >>> [[1, 2], ['a', 'b']](2)支持在原处修改:
print(l2) l2[1] = 32 print(l2) >>> [1, 2, 3, 4, 5] [1, 32, 3, 4, 5] l2[3] = "xyz" print(l2) >>> [1, 32, 3, 'xyz', 5] l2[1:3] # 顾首不顾尾,所以只取索引为1,2的元素 >>> [32, 3] print(l2) l2[1:3] = [] # 把1、2设为空 print(l2) print(l2[1]) >>> [1, 32, 3, 'xyz', 5] [1, 'xyz', 5] xyz print(l2) l2[1:] = ['m', 'n', 'r'] # 1:是指从下标1到最后,包括最后 print(l2) >>> [1, 'xyz', 5] [1, 'm', 'n', 'r'] print(id(l2)) print(l2) del(l2[1:]) print(l2) >>> 2507620552392 [1, 'm', 'n', 'r'] [1] print(id(l2)) # 可见这是在原处修改,不会改变它的id >>> 2507620552392 l3 = [1, 2, 3, 4, 5, 6] l3.append(77) # 添加元素,最常用 print(l3) >>> [1, 2, 3, 4, 5, 6, 77] print(id(l3)) l3.append(106) print(l3) print(id(l3)) >>> 2507620217992 [1, 2, 3, 4, 5, 6, 77, 106] 2507620217992 l4 = ['x', 'y', 'z'] l3.append(l4) # 添加一个元素 print(l3) print(id(l3)) >>> [1, 2, 3, 4, 5, 6, 77, 106, ['x', 'y', 'z']] 2507620217992 l3.append(2) print(l3) l3.count(2) # 统计参数出现多少次 >>> [1, 2, 3, 4, 5, 6, 77, 106, ['x', 'y', 'z'], 2] 2 l3.extend(l4) # 将参数的每个元素都一一并入列表中 print(l3) >>> [1, 2, 3, 4, 5, 6, 77, 106, ['x', 'y', 'z'], 2, 'x', 'y', 'z'] l3.index(5) # 查找参数的索引 >>> 4 l3.insert(1, 333) # 在第一位插入333 print(l3) >>> [1, 333, 2, 3, 4, 5, 6, 77, 106, ['x', 'y', 'z'], 2, 'x', 'y', 'z'] l3.pop() # 不给参数则默认弹出删除最后一个元素 print(l3) l3.pop(8) # 注意参数是索引。被弹出的数值能直接赋值给其他变量 print(l3) >>> [1, 333, 2, 3, 4, 5, 6, 77, 106, ['x', 'y', 'z'], 2, 'x', 'y'] [1, 333, 2, 3, 4, 5, 6, 77, ['x', 'y', 'z'], 2, 'x', 'y'] l3.remove(1) # 注意这个参数是元素的值 print(l3) >>> [333, 2, 3, 4, 5, 6, 77, ['x', 'y', 'z'], 2, 'x', 'y'] l3.reverse() # 逆序,返回为None print(l3) >>> ['y', 'x', 2, ['x', 'y', 'z'], 77, 6, 5, 4, 3, 2, 333] l5 = [3, 2, 6, 8] l5.sort() # 排序,其返回为None print(l5) >>> [2, 3, 6, 8](3)两个列表l1、l2操作:
l1 = [1, 2, 3, 'x'] l2 = ['x', 'y', 'z'] print(l1 + l2) >>> [1, 2, 3, 'x', 'x', 'y', 'z'] print(l1 * 3) >>> [1, 2, 3, 'x', 1, 2, 3, 'x', 1, 2, 3, 'x'](4)in:成员关系判断字符:
print(2 in l1) print(22 not in l1) >>> True True(5)列表解析:
l1 = [10, 20, 30, 40, 50]
for i in range(len(l1)):
l1[i] += 5
print(l1)
>>>
[15, 25, 35, 45, 55]
l2 = [10, 20, 30, 40, 50]
l2 = [i+5 for i in l2]
print(l2)
>>>
[15, 25, 35, 45, 55]
(6)列表复制三种方式:
l1 = [1, 2, 3] l2 = l1 # 列表赋值 print(l2) l1.append(4) print(l1) print(l2) print(id(l1), id(l2)) # 可见指向同一对象 >>> [1, 2, 3] [1, 2, 3, 4] [1, 2, 3, 4] 2507620234952 2507620234952 l3 = l1[:] # 列表复制 print(l3) l1.append(5) print(l1) print(l3) print(id(l1), id(l3)) # 可见是不同对象 >>> [1, 2, 3, 4] [1, 2, 3, 4, 5] [1, 2, 3, 4] 2507620234952 2507620507976 import copy print(l1, id(l1)) l4 = copy.deepcopy(l1) print(l4, id(l4)) # 可见这种方法也可以新建对象式的复制 >>> [1, 2, 3, 4, 5] 2507620234952 [1, 2, 3, 4, 5] 2507620217992
【声明】:学习笔记基于互联网上各种学习资源的个人整理。
以上是本期内容,下期介绍python的元组类型。
我叫小保,一名计算机视觉爱好者、学习者、追随者,欢迎关注我一起学习。