|
本帖最后由 周大胖子 于 2023-8-16 16:09 编辑
- def d(q):
- print(q)
- name = ['大力', '出', '奇迹', '王三岁', '乖乖女', '777']
- # 1、 向列表里面加元素;
- # append 对于列表的操作主要实现的是在特定的列表最后添加一个元素
- # extend 对于特定列表的扩展和增长,可以一次添加多个元素,不过也只能添加在列表的最后(在屁股后面再接一个数组列表);
- # insert 指定位置添加特定的元素,注意 两个参数 第一个是下标 从0 开始
- # name.append('真好看')
- # name.extend(['真6'])
- # name.insert(6,'yuyu')
- # d(name)
- #
- # 2、 删减列表中的一些元素;
- # remove的作用是移除掉列表m里面的特定元素;
- # del m[n] 移除指定下标 (移除之后下标会重组)
- # pop 最后一个元素返回,并且在此基础上进行删除掉(原来的列表发生了改变)
- # name.remove('出')
- # del name[3]
- # name.pop()
- # d(name)
- #
- # 3、 获取列表里面的特定元素;
- # d(name[2])
- #
- # 4、 列表分片;
- # print(name[::-4])
- #
- # 5、 常用的列表操作符;
- # +:它主要实现的是多个列表之间的拼接常见的列表操作符 (数组合并,但是不存在去重)
- #
- # *:主要实现的是列表的复制和添加 (简单的乘法 会变成很长一个列表)
- #
- # 比较>,<:主要进行数据型列表的元素比较 (比较是比较列表中的每一个元素 对另一个列表中的对应下标每一个元素的比较)
- #
- # and等:逻辑运算符,可以进行列表之间的逻辑判断
- #
- # name2 = ['大力', '出', '奇迹', '王三岁', '乖乖女', '666']
- # d(name < name2)
- # d(name + name2)
- # d(name*4)
- # 6、 其他常见列表操作函数
- # m.count(A):输出元素A在列表m里面出现的次数
- # m.index(A):输出元素A在列表m里面的索引位置号
- # m.index(A,a,b):对于列表m里面包含多个元素A时,输出在列表m索引号a-b之间的特定索引号
- # m.reverse():将列表m进行前后的翻转,前变后,后变前 (这个不是返回值 也不存在n=m.reverse 这个表达式是不对的 因为变的是m本身,无返回值)
- # m.sort():将列表m里面地数据进行从小到大的排列(字符串有字符串的比较 , 如果全是数字那就是按照数字进行比较 )
- # m.sort(reverse=True):将列表m里面地数据进行从大到小的排列
- # t = [1, 3, 4, 2, 8, 6, 7, 7, 888, 26, 9, 8, 2]
- # d(t)
- # d(t.count(8))
- # d(t.index(8))
- # d(t.index(8, 6, len(t)))
- # t.reverse()
- # t.sort()
- # # [1, 2, 2, 3, 4, 6, 7, 7, 8, 8, 9, 26, 888]
- #
- # t2 = ['1', '12', '6', '16']
- # t2.sort()
- # # ['1', '12', '16', '6']
- #
- # # t2.sort(reverse=True)
- # # ['6', '16', '12', '1']
- # d(t2)
- # 7、 列表的拷贝
- # 1) 深拷贝:
- #
- # M=[A,b,a,c]
- #
- # N=M[:]
- #
- # 2) 浅拷贝:
- #
- # N=M
- # n2 = name
- # d(name)
- # ['大力', '出', '奇迹', '王三岁', '乖乖女', '777']
- # n2.sort()
- # d(name)
- # ['777', '乖乖女', '出', '大力', '奇迹', '王三岁']
- # 得出结论 如果是直接赋值 浅拷贝,当新列表改动时,原列表也会受到影响 所以 用深拷贝
- # 闲着无聊测试下方结论
- # name2 = ['大力', '出', '奇迹', '王三岁', '乖乖女']
- # name3 = name
- # name3[::-4]
- # print(name3)
- # print(id(name), id(name3))
- # print(id(name[::-4]), id(name), id(name2))
- # if id(name) == id(name2):
- # print('如果name2 = name 这种赋值的写法 则两个地址是一样的')
- # else:
- # print('得出结论:相同变量的列表指向的地址并不一样')
- #
- # if id(name2[0]) == id(name3[0]) :
- # print('得出结论:虽然列表地址不一样 但是里面的字符串地址是相同的 仍在变量池中')
- # print(id(name2[0]), id(name3[0]))
- # http://www.taodudu.cc/news/show-1889899.html?action=onClick
复制代码 |
|