笔记目录

  • 列表的相关操作
    • 列表的拼接(同元组)
    • 列表的重复 (同元组)
    • 列表的切片 (同元组)
    • 列表的获取 (同元组)
    • 列表的修改 (可切片)
    • 列表的删除 ( 可切片 )
  • 列表的相关函数
    • append()
    • insert()
    • extend()
    • pop()
    • remove()
    • clear()
    • index()
    • count()
    • sort()
    • reverse()
  • 深拷贝 与浅拷贝
    • 浅拷贝
    • 深拷贝
  • 字典的相关函数 (增删改查)
    • fromkeys()
    • pop()
    • popitem()
    • clear()
    • update()
    • get()
    • keys()
    • values()
    • items()
  • 集合相关操作 (交差并补)
    • intersection() 交集
    • difference() 差集
    • union() 并集
    • symmetric_difference() 对称差集 (补集情况涵盖在其中)
    • issubset() 判断是否是子集
    • issuperset() 判断是否是父集
    • isdisjoint() 检测两集合是否不相交 不相交 True 相交False
  • 集合相关函数
    • add() 向集合中添加数据
    • update() 迭代着增加 update(可迭代性数据)
    • clear() 清空集合
    • pop() 随机删除集合中的一个数据
    • remove() 删除集合中指定的值(不存在则报错)
    • discard() 删除集合中指定的值(不存在的不删除 推荐使用)
  • 冰冻集合
    • 声明空的冰冻集合

列表的相关操作

列表的拼接(同元组)

lst_1 = [1, 2, 3]
lst_2 = [4, 5, 6]
lst_3 = lst_1 + lst_2
print(lst_3)

列表的重复 (同元组)

lst_1 = ['please', 'don\'t', 'go']
res = lst_1 * 3
print(res)

列表的切片 (同元组)

语法 => 列表[::] 完整格式:[开始索引:结束索引:间隔值]

  1. [开始索引:] 从开始索引截取到列表的最后
istvar = ['布里吉塔', '禅雅塔', '安娜', '天使', '末日铁拳', '士兵76', '死神', '查莉雅', '温斯顿']
res = listvar[3:]
print(res)
  1. [:结束索引] 从开头截取到结束索引之前(结束索引-1)
res = listvar[:-3]
print(res)
  1. [开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
res = listvar[1:4]
print(res)
  1. [开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取列表元素值
res = listvar[::2]
print(res)res = listvar[2:6:3]
print(res)res = listvar[-4:1:-1]
print(res)
  1. [:]或[::] 截取所有列表
res = listvar[::]
print(res)

列表的获取 (同元组)

listvar = ['黑影', '半藏', '源氏', '莱因哈特', '卢西奥']
res = listvar[-2]
print(res)

列表的修改 (可切片)

listvar = ['黑影', '半藏', '源氏', '莱因哈特', '卢西奥']
listvar[:2] = ['莫伊拉', '巴蒂斯特', '破坏球']
print(listvar)
# 带有步长的列表修改*** (切掉几个,填充几个,一一对应)
listvar[::3] = ['狂鼠', '黑百合']
print(listvar)
# 在列表进行切片修改的时候,右侧的值需要iterable ( 可迭代性数据 => 容器类型数据  range对象 迭代器)
listvar[::2] = range(2)
print(listvar)

列表的删除 ( 可切片 )

使用del 关键字 实现删除操作

listvar = ['黑影', '半藏', '源氏', '莱因哈特', '卢西奥']
del listvar[1:4]
print(listvar)

列表的相关函数

加的操作 append insert extend
除操作 pop remove clear
改 查 可以看上一节 的相关操作

append()

功能:向列表的末尾添加新的元素
格式:列表.append(值)
返回值:None
注意:新添加的值在列表的末尾,该函数直接操作原有列表

listvar = ['前田敦子', '大岛优子', '篠田麻里子', '高桥南', '柏木由纪', '渡边麻友', '小嶋阳菜']listvar.append('指原莉乃')
print(listvar)

insert()

功能:在指定索引之前插入元素
格式:列表.insert(索引,值)
返回值:None
注意:直接改变原有列表

listvar = ['前田敦子', '大岛优子', '篠田麻里子', '高桥南', '柏木由纪', '渡边麻友', '小嶋阳菜']
listvar.insert(3, '北原里英')
print(listvar)

extend()

功能:迭代追加所有元素
格式:列表.extend(可迭代性数据)
返回值:None
注意:直接改变原有列表

listvar.extend(['高城亚树', '松井珠理奈', '松井玲奈'])
print(listvar)

pop()

功能:通过指定索引删除元素,若没有索引移除最后那个
格式:列表.pop(索引)
返回值:删除的元素
(注意:没有指定索引,默认移除最后一个元素 )

res = listvar.pop()
print(res, listvar)res = listvar.pop(3)
print(res, listvar)

remove()

功能:通过给予的值来删除,如果多个相同元素,默认删除第一个
格式:列表.remove(值)
返回值:None
(注意:如果有索引的情况推荐使用pop,效率高于remove)

listvar.remove('柏木由纪')
print(listvar)

clear()

功能:清空列表
格式:列表.clear()
返回值:None
直接操作原有列表

listvar.clear()
print(listvar)

index()

功能:获取某个值在列表中的索引
格式:列表.index(值[,start][,end]) # [] 表达参数可选项
返回值:找到返回索引 (找不到报错)

listvar = ['渡边麻友', '前田敦子', '大岛优子', '篠田麻里子', '高桥南', '柏木由纪', '渡边麻友', '小嶋阳菜']
res = listvar.index('渡边麻友')
print(res)
res = listvar.index('渡边麻友', 3)
print(res)

count()

功能:计算某个元素出现的次数
格式:列表.count(值)
返回值:次数

res = listvar.count('渡边麻友')
print(res)

sort()

功能:列表排序(默认小到大排序)
格式:列表.sort(reverse=False)
返回值:None
注意:直接更改原列表

listvar = ['JayChou', 'JJ', 'Tony', 'Steve','Thor', 'Sam', 'Banner', 'Alex']
listvar.sort()
print(listvar)
# 让列表从大到小排列 reverse = True
listvar = ['JayChou', 'JJ', 'Tony', 'Steve', 'Thor', 'Sam', 'Banner', 'Alex']
listvar.sort(reverse=True)
print(listvar)

reverse()

功能:列表反转操作
格式:列表.reverse()
返回值:None
注意:直接更改原列表

listvar = ['JayChou', 'JJ', 'Tony', 'Steve', 'Thor', 'Sam', 'Banner', 'Alex']
listvar.reverse()
print(listvar)

深拷贝 与浅拷贝

lst_1 = [1, 2, 3, 4]
lst_2 = lst_1
lst_1.append(5)
print(lst_1, lst_2)

浅拷贝

只拷贝一级所有元素

lst_1 = [2, 3, 4, 5]
lst_2 = lst_1.copy()
lst_1.append(6)
print(lst_1, lst_2)lst_1 = [1, 2, 3, [4, 5, 6]]
lst_2 = lst_1[:]
lst_1[-1].append(7)
lst_1.append(8)
print(lst_1, lst_2)
import copy
lst_1 = [3, 4, 5, 6]
lst_2 = copy.copy(lst_1)
lst_1.append(7)
print(lst_1, lst_2)
# 二级容器仍然会改变
lst_1 = [5, 6, [7, 8]]
lst_2 = copy.copy(lst_1)
lst_1[-1].append(9)
lst_1.append(10)
print(lst_1, lst_2)

深拷贝

将所有级别的元素统统独立拷贝一份

import copy
lst_1 = [6, 7, [8, 9]]
lst_2 = copy.deepcopy(lst_1)
lst_1[-1].append(10)
print(lst_1, lst_2)dic_1 = {'a': [1, 2], 'b': {'c': 3, 'd': [4, 5]}}
dic_2 = copy.deepcopy(dic_1)
dic_1['b']['d'].append(6)
print(dic_1, '\n', dic_2)

字典的相关函数 (增删改查)

增:赋值 fromkeys
删:pop popitem clear
改:update
查:get keys values items

dictvar = {}
dictvar['tank_1'] = 'Reinhardt'
dictvar['tank_2'] = 'D.Va'
dictvar['damage_1'] = 'McCree'
dictvar['damage_2'] = 'Genji'
dictvar['support_1'] = 'Ana'
dictvar['support_2'] = 'Zenyatta'
print(dictvar)

fromkeys()

使用一组键和默认值创建字典

dictvar_1 = {}.fromkeys(['a', 'b', 'c'], None)
print(dictvar_1)dictvar_1 = {}.fromkeys(['a', 'b', 'c'], [])
dictvar_1['b'].append('teen')
print(dictvar_1)

pop()

通过键去删除键值对 (若没有该键可设置默认值,预防报错)

res = dictvar.pop('tank_1')
print(res, dictvar)# res = dictvar.pop('damage_3')
res = dictvar.pop('damage_3', 'key error')
print(res, dictvar)

popitem()

删除最后一个键值对 3.6版本

res = dictvar.popitem()
print(res, dictvar)

clear()

清空字典

dictvar.clear()
print(dictvar)

update()

批量更新(有该键就更新,没该键就添加)

dictvar = {'tank_1': 'Reinhardt','damage_1': 'McCree','support_1': 'Ana','support_2': 'Zenyatta'}
# 写法一 (推荐)
dictvar.update({'tank_2': 'Orisa', 'damage_2': 'Hanzo'})
print(dictvar)# 写法二
dictvar.update(tank_3='Winston', support_3='Angela')
print(dictvar)

get()

通过键获取值(若没有该键可设置默认值,预防报错)

# 如果没有该键 , 默认返回None , 如果指定默认值, 则返回该默认值
res = dictvar.get('damage_3', 'key error')
print(res)
res = dictvar.get('damage_2')
print(res, dictvar)

keys()

将字典的键组成新的可迭代对象

res = dictvar.keys()
for i in res:print(i)

values()

将字典中的值组成新的可迭代对象

res = dictvar.values()
for i in res:print(i)

items()

将字典的键值对凑成一个个元组,组成新的可迭代对象

res = dictvar.items()
for i in res:print(i)for a, b in res:print(a, b)

集合相关操作 (交差并补)

intersection() 交集

set_1 = {'破坏球', '艾什', '法老之鹰', '奥丽莎'}
set_2 = {'温斯顿', '法老之鹰', '破坏球', '半藏'}res = set_1.intersection(set_2)
print(res)
res = set_1 & set_2
print(res)

difference() 差集

res = set_1.difference(set_2)
print(res)
res = set_1 - set_2
print(res)res = set_2.difference(set_1)
print(res)
res = set_2 - set_1
print(res)

union() 并集

res = set_1.union(set_2)
print(res)
res = set_1 | set_2
print(res)

symmetric_difference() 对称差集 (补集情况涵盖在其中)

res = set_1.symmetric_difference(set_2)
print(res)
res = set_1 ^ set_2
print(res)

issubset() 判断是否是子集

set_1 = {'猎空', '秩序之光', '堡垒', '小美'}
set_2 = {'堡垒', '猎空'}
set_3 = {'堡垒', '猎空'}
# 真子集:2个集合不是完全一样的
res = set_2.issubset(set_1)
print(res)
res = set_2 < set_1
print(res)
res = set_3.issubset(set_2)
print(res)
res = set_3 <= set_2
print(res)

issuperset() 判断是否是父集

set_1 = {'猎空', '秩序之光', '堡垒', '小美'}
set_2 = {'堡垒', '猎空'}
set_3 = {'堡垒', '猎空'}
res = set_1.issuperset(set_2)
res = set_1 >= set_2
print(res)
res = set_2.issuperset(set_3)
print(res)

isdisjoint() 检测两集合是否不相交 不相交 True 相交False

res = set_1.isdisjoint(set_2)
print(res)

集合相关函数

增:add update
删:clear pop remove discard

add() 向集合中添加数据

setvar = {'吉拉德堡', '艾兴瓦尔德', '国王大道'}
setvar.add('生态监测站')
print(setvar)

update() 迭代着增加 update(可迭代性数据)

setvar.update(['多拉多', '釜山'])
print(setvar)

clear() 清空集合

setvar = {'吉拉德堡', '艾兴瓦尔德', '国王大道'}
setvar.clear()
print(setvar)

pop() 随机删除集合中的一个数据

setvar = {'吉拉德堡', '艾兴瓦尔德', '国王大道'}
res = setvar.pop()
print(res, setvar)

remove() 删除集合中指定的值(不存在则报错)

setvar = {'吉拉德堡', '艾兴瓦尔德', '国王大道'}
setvar.remove('艾兴瓦尔德')
print(setvar)

discard() 删除集合中指定的值(不存在的不删除 推荐使用)

setvar = {'吉拉德堡', '艾兴瓦尔德', '国王大道'}
setvar.discard('多拉多')
print(setvar)

冰冻集合

frozenset 可强转容器类型数据变为冰冻集合

声明空的冰冻集合

fz = frozenset()
print(fz, type(fz))

冰冻集合一旦创建,不能在进行任何修改,只能做交叉并补操作

fz_1 = frozenset([1, 2, 3, 4])
fz_2 = frozenset([3, 4, 5, 6])res = fz_1 & fz_2
print(res)

Python笔记_07_列表的相关操作_列表相关函数_深浅拷贝_字典相关函数_集合相关函数_冰冻集合相关推荐

  1. 20230209 Python的列表及相关操作

    一.认识列表 案例:定义变量保存一个班所有学生的分数 scores = [33, 44, 90, 100, 77, 82, 0, 93, 99, 94] 求平均分 print(sum(scores) ...

  2. python列表使用技巧与方法_Python列表的相关操作与方法

    Python列表的相关操作与方法 1.列表 why:int.bool.str存在缺陷 str:存储少量的数据:所有的操作获取的内容都是 str类型,存储的数据类型单一. what: 列表可以承载任意数 ...

  3. python学习 day7_字符串、列表的相关操作

    python学习day7_字符串的相关函数 字符串的相关操作 (1)字符串的拼接 + (2)字符串的重复 * (3)字符串跨行拼接 \ (4)字符串的索引(复习) (5)字符串的切片:(截取) 对字符 ...

  4. python小白——进阶之路——day天-———列表的相关操作以及函数

    ###列表的相关操作 #(1)列表的拼接lst1=[1,2] lst2=[3,4] listvar = lst1+lst2 print(listvar) #(2)列表的重复lst = [1,2,3] ...

  5. python慕课笔记_MOOC python笔记(三) 序列容器:字符串、列表、元组

    Python Python开发 Python语言 MOOC python笔记(三) 序列容器:字符串.列表.元组 容器概念 容器是Python中的重要概念,分为有序与无序. 有序容器也称为序列类型容器 ...

  6. Python入门--列表的查询操作--获取列表知道那个元素的索引、获取列表中的单个元素、获取列表中的多个元素

    #列表的查询操作 #获取列表中指定元素的索引 #index()-->如果列表中存在N个相同的元素,只返回相同元素中的第一个索引 # -->如果查询的元素在列表中不存在,则会抛出Valuee ...

  7. jQuery学习笔记--JqGrid相关操作 方法列表 备忘 重点讲解(超重要)

    JqGrid相关操作备忘 方法列表 特别推荐:怎样获取某一方某一列的值: [html] view plaincopy var rowdata=jQuery("#list").jqG ...

  8. Python列表的相关操作

    列表相关操作 可获取,可修改,有序 列表的拼接 (同元组) + lst1 = [1,2,3] lst2 = [2,3,4] lst = lst1 + lst2 print(lst) # [1, 2, ...

  9. jQuery学习笔记--JqGrid相关操作 方法列表 备忘 重点讲解(超重要) from:jpr1990

    JqGrid相关操作备忘 方法列表 1.获得当前列表行数:$("#gridid").getGridParam("reccount"); 2.获取选中行数据(js ...

最新文章

  1. 【C语言】学习笔记3——字符串
  2. 2011年云计算发展趋势的五大预测
  3. Springboot 启动问题
  4. 【UAV】高度控制代码分析
  5. Ajax Toolkit AutoComplete 几种用法
  6. 阿里系微服务进阶指南
  7. struts框架的原理和应用_分布式开源调度框架TBSchedule原理与应用
  8. 20180925-6 四则运算试题生成
  9. CPU226怎么与西门子变频器通讯
  10. 做了一个电驴 p2p资源搜索小软件
  11. 《麻辣江湖》即将上线!
  12. mybatis 逆向工程 思维导图
  13. 多线程- 让程序更高效的运行
  14. 【Mybatis】动态SQL之choose标签
  15. 幂等性需要明确最小颗粒度
  16. 前度字符串转数组_leetcode每日一题
  17. 团队展示网页 HTML模版
  18. 佐治亚理工学院计算机科学硕士,佐治亚理工学院
  19. 开始学ASP.NET了~·~得发奋啊……
  20. 串联谐振电路的品质因数

热门文章

  1. sonarqube+sonar-scanner+jenkins安装配置及使用
  2. 优力优磁性照片墙,让家有吸引力 !
  3. 坑爹公司大盘点 --- 转自拉钩
  4. 22考研|英语词汇该如何记忆?
  5. 健身知识 / 动作图解(待全)
  6. Flexpoint: An Adaptive Numerical Format for Efficient Training of Deep Neural Networks:弯曲点:一种有效训练深度神
  7. Android 能让你少走弯路的干货整理
  8. linux系统下ls -r命令的简单实现(C语言版)
  9. hdmi怎么支持2k分辨率_HDMI更新了!HDMI线用户忍受了一年的问题,终于能解决了...
  10. 不同分辨率标准,720p 1080p 2k 4k HD FHD UHD