网站建设广告方案贵州网站备案查询

张小明 2026/1/10 14:16:29
网站建设广告方案,贵州网站备案查询,wordpress搜索框变码,金蝶软件培训Python数据结构操作对比#xff1a;字典、列表、元组、集合 以下是四种主要数据结构的操作对比#xff0c;包含详细示例和注释#xff1a; 1. 创建#xff08;初始化#xff09; # 字典 (dict) # 创建空字典 dict1 {} dict2 dict() # 创建带初始值的字典 dict3 …Python数据结构操作对比字典、列表、元组、集合以下是四种主要数据结构的操作对比包含详细示例和注释1. 创建初始化# 字典 (dict) # 创建空字典dict1{}dict2dict()# 创建带初始值的字典dict3{name:Alice,age:25}dict4dict(nameBob,age30)dict5dict([(name,Charlie),(age,35)])# 列表 (list) # 创建空列表list1[]list2list()# 创建带初始值的列表list3[1,2,3,4,5]list4list(hello)# [h, e, l, l, o]list5[iforiinrange(5)]# 列表推导式[0, 1, 2, 3, 4]# 元组 (tuple) # 创建空元组tuple1()tuple2tuple()# 创建带初始值的元组tuple3(1,2,3)tuple41,2,3# 括号可省略逗号是关键tuple5(1,)# 单个元素的元组需要加逗号tuple6tuple([1,2,3])# 从列表转换# 集合 (set) # 创建空集合不能使用{}因为这是空字典set1set()# 创建带初始值的集合set2{1,2,3,4,5}set3set([1,2,2,3,3])# 去重后{1, 2, 3}set4{iforiinrange(5)}# 集合推导式{0, 1, 2, 3, 4}2. 增加元素# 字典 (dict) dict1{name:Alice}dict1[age]25# 添加新键值对dict1.setdefault(city,Beijing)# 如果键不存在则添加存在则返回原值dict1.update({job:Engineer,salary:50000})# 批量添加/更新# 列表 (list) list1[1,2,3]list1.append(4)# 末尾添加单个元素[1, 2, 3, 4]list1.extend([5,6])# 末尾添加多个元素[1, 2, 3, 4, 5, 6]list1.insert(1,1.5)# 在索引1处插入1.5[1, 1.5, 2, 3, 4, 5, 6]# 元组 (tuple) # 元组不可变不能直接添加元素tuple1(1,2,3)# 可以通过创建新元组实现添加tuple2tuple1(4,)# (1, 2, 3, 4)# 集合 (set) set1{1,2,3}set1.add(4)# 添加单个元素{1, 2, 3, 4}set1.update([5,6,7])# 添加多个元素{1, 2, 3, 4, 5, 6, 7}3. 修改元素# 字典 (dict) dict1{name:Alice,age:25}dict1[age]26# 修改现有键的值dict1.update({age:27,name:Alicia})# 批量修改# 列表 (list) list1[1,2,3,4,5]list1[2]30# 修改索引2处的值[1, 2, 30, 4, 5]list1[1:4][20,30,40]# 修改切片[1, 20, 30, 40, 5]# 元组 (tuple) # 元组不可变不能修改元素tuple1(1,2,3)# 如果元素本身是可变对象可以修改其内容tuple2([1,2],[3,4])tuple2[0].append(3)# 可以([1, 2, 3], [3, 4])# 集合 (set) # 集合元素不可变且无序不能直接修改特定元素# 通常先删除再添加set1{1,2,3}set1.remove(2)# 删除元素2set1.add(20)# 添加新元素20{1, 3, 20}4. 查找元素# 字典 (dict) dict1{name:Alice,age:25,city:Beijing}value1dict1[name]# 通过键获取值键不存在会报错value2dict1.get(age)# 通过键获取值键不存在返回Nonevalue3dict1.get(salary,0)# 键不存在返回默认值0has_keycityindict1# 检查键是否存在Truekeysdict1.keys()# 获取所有键valuesdict1.values()# 获取所有值itemsdict1.items()# 获取所有键值对# 列表 (list) list1[10,20,30,20,40,50]valuelist1[2]# 通过索引获取元素30index1list1.index(20)# 查找元素首次出现的位置1index2list1.index(20,2)# 从索引2开始查找3count_20list1.count(20)# 统计元素出现次数2has_value30inlist1# 检查元素是否存在True# 元组 (tuple) tuple1(10,20,30,20,40)valuetuple1[2]# 通过索引获取元素30indextuple1.index(20)# 查找元素首次出现的位置1counttuple1.count(20)# 统计元素出现次数2has_value30intuple1# 检查元素是否存在True# 集合 (set) set1{10,20,30,40,50}has_value30inset1# 检查元素是否存在True# 集合查找效率很高(O(1))但只能检查存在性5. 删除元素# 字典 (dict) dict1{name:Alice,age:25,city:Beijing,job:Engineer}deldict1[age]# 删除指定键值对valuedict1.pop(city)# 删除并返回指定键的值key_valuedict1.popitem()# 删除并返回最后一个键值对Python 3.7有序dict1.clear()# 清空字典# 列表 (list) list1[10,20,30,40,50,60,70]dellist1[2]# 删除索引2处的元素[10, 20, 40, 50, 60, 70]valuelist1.pop()# 删除并返回最后一个元素70value2list1.pop(1)# 删除并返回索引1处的元素20list1.remove(40)# 删除首次出现的指定元素[10, 50, 60]list1.clear()# 清空列表[]# 元组 (tuple) # 元组不可变不能删除单个元素tuple1(1,2,3,4,5)# 只能通过切片或创建新元组实现删除tuple2tuple1[:2]tuple1[3:]# 删除索引2处的元素(1, 2, 4, 5)# 集合 (set) set1{10,20,30,40,50,60}set1.remove(30)# 删除指定元素不存在则报错set1.discard(40)# 删除指定元素不存在不报错valueset1.pop()# 删除并返回任意一个元素set1.clear()# 清空集合set()6. 高级操作# 字典 (dict) dict1{a:1,b:2,c:3}# 字典推导式dict2{k:v*2fork,vindict1.items()}# {a: 2, b: 4, c: 6}# 合并字典dict3{a:10,d:4}merged{**dict1,**dict3}# {a: 10, b: 2, c: 3, d: 4}Python 3.5# 默认值字典fromcollectionsimportdefaultdict dddefaultdict(int)# 不存在的键返回int()即0dd[x]1# dd[x]现在为1# 有序字典fromcollectionsimportOrderedDict odOrderedDict([(a,1),(b,2),(c,3)])# 列表 (list) list1[3,1,4,1,5,9,2]# 排序返回新列表sorted_listsorted(list1)# [1, 1, 2, 3, 4, 5, 9]# 原地排序list1.sort()# 列表变为[1, 1, 2, 3, 4, 5, 9]# 反转reversed_listlist(reversed(list1))# [9, 5, 4, 3, 2, 1, 1]list1.reverse()# 原地反转# 过滤filtered[xforxinlist1ifx3]# 列表推导式过滤[9, 5, 4]# 映射mapped[x*2forxinlist1]# [18, 10, 8, 6, 4, 2, 2]# 元组 (tuple) tuple1(3,1,4,1,5)# 元组解包a,b,c,d,etuple1# a3, b1, c4, d1, e5# 扩展解包first,*middle,lasttuple1# first3, middle[1, 4, 1], last5# 命名元组fromcollectionsimportnamedtuple Pointnamedtuple(Point,[x,y])pPoint(10,20)# p.x10, p.y20# 集合 (set) set1{1,2,3,4,5}set2{4,5,6,7,8}# 集合运算union_setset1|set2# 并集{1, 2, 3, 4, 5, 6, 7, 8}intersection_setset1set2# 交集{4, 5}difference_setset1-set2# 差集{1, 2, 3}symmetric_diffset1^set2# 对称差集{1, 2, 3, 6, 7, 8}# 子集/超集判断is_subset{1,2}.issubset(set1)# Trueis_supersetset1.issuperset({1,2})# True# 冻结集合不可变集合fsfrozenset([1,2,3,4])7. 性能与特性总结 总结对比 1. 字典 (dict): - 键值对存储键必须可哈希 - 查找、插入、删除平均O(1)时间复杂度 - Python 3.7保持插入顺序 2. 列表 (list): - 有序、可变、允许重复 - 索引访问O(1)插入/删除末尾O(1)中间O(n) - 适合顺序访问和修改 3. 元组 (tuple): - 有序、不可变、允许重复 - 性能比列表稍好内存小创建快 - 适合作为字典键如果元素都可哈希 4. 集合 (set): - 无序、可变、元素唯一、元素必须可哈希 - 查找、插入、删除平均O(1)时间复杂度 - 适合去重和集合运算 8. 类型转换示例# 列表转其他类型lst[1,2,2,3,4]to_dictdict(enumerate(lst))# {0: 1, 1: 2, 2: 2, 3: 3, 4: 4}to_tupletuple(lst)# (1, 2, 2, 3, 4)to_setset(lst)# {1, 2, 3, 4}去重# 字典键/值转换d{a:1,b:2,c:3}keys_listlist(d.keys())# [a, b, c]values_tupletuple(d.values())# (1, 2, 3)# 集合转列表/元组s{1,2,3,4}set_to_listlist(s)# [1, 2, 3, 4]set_to_tupletuple(s)# (1, 2, 3, 4)每种数据结构都有其特定的用途和优势根据具体需求选择合适的数据结构可以显著提高代码效率和可读性。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

沧州南皮手机网站建设茌平企业做网站推广

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个名为Mediago的智能媒体内容管理平台,支持图片、视频和音频的自动分类与标签生成。要求:1. 使用AI模型自动分析上传的媒体内容,提取关键特…

张小明 2026/1/6 12:24:49 网站建设

泰安钢管网站建设软件开发公司在哪里

WarcraftHelper:魔兽争霸III完美兼容解决方案终极指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为经典游戏魔兽争霸III在新系统…

张小明 2026/1/8 17:30:33 网站建设

个人信息网站htmlwordpress主题windows

以下是各种排序算法的时间复杂度详细对比: 比较排序算法 O(n) 复杂度算法 算法 平均情况 最好情况 最坏情况 空间复杂度 稳定性 说明 冒泡排序 O(n) O(n) O(n) O(1) ✓ 通过相邻元素交换 选择排序 O(n) O(n) O(n) O(1) ✗ 每次选最小/最大值 插入排序 O(n) O(n) …

张小明 2026/1/6 21:24:24 网站建设

社区网站源码seo免费视频教程

DataRoom开源大屏设计器:零代码打造企业级数据可视化平台 【免费下载链接】DataRoom 🔥基于SpringBoot、MyBatisPlus、ElementUI、G2Plot、Echarts等技术栈的大屏设计器,具备目录管理、DashBoard设计、预览能力,支持MySQL、Oracle…

张小明 2026/1/9 8:00:03 网站建设

直接IP做访问我服务器的网站wordpress可以多用户吗

FREE!ship Plus船舶设计软件:从入门到精通的完全指南 【免费下载链接】freeship-plus-in-lazarus FreeShip Plus in Lazarus 项目地址: https://gitcode.com/gh_mirrors/fr/freeship-plus-in-lazarus 想要轻松设计专业船舶模型却担心复杂商业软件&#xff1f…

张小明 2026/1/4 14:40:45 网站建设

厦门三五互联可以做网站吗商洛市城乡建设局网站

GPT-SoVITS实战指南:从零开始打造你的专属语音合成系统 在短视频、虚拟主播和AI内容创作爆发的今天,你有没有想过——只需要一分钟录音,就能让AI用你的声音朗读任何文字?这不再是科幻电影的情节,而是GPT-SoVITS已经实现…

张小明 2026/1/10 2:18:25 网站建设