找回密码
 立即注册
首页 业界区 安全 Python数据结构 List(列表)、Dictionary(字典) ...

Python数据结构 List(列表)、Dictionary(字典)

赊朗爆 2025-7-29 15:37:36
List(列表):[]
列表是最常用的 Python 数据类型,它以一个方括号内的逗号分隔值出现。
列表属于可变数据类型,字符串、整数、浮点数、布尔类型属于不可变数据类型。
列表的数据项不需要具有相同的类型。 
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
  1. list1 = ['Google', 'Runoob', 1997, 2000]
  2. list2 = [1, 2, 3, 4, 5 ]
  3. list3 = ["a", "b", "c", "d"]
  4. list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
复制代码
列表常用的方法(增、删、改)、通过索引取值、函数(求长度、最大值、最小值、排序)
  1. # 定义空的列表(购物清单)
  2. shopping_list = []
  3. # 往购物清单里添加两个商品
  4. shopping_list.append("键盘")
  5. shopping_list.append("键帽")
  6. # 往购物清单里移除一个商品
  7. shopping_list.remove("键帽")
  8. # 往购物清单里移除两个商品
  9. shopping_list.append("音响")
  10. shopping_list.append("电竞椅")
  11. # 更改购物清单的第二个商品
  12. shopping_list[1] = "硬盘"
  13. # 打印列表的值(可变数据类型)
  14. print(shopping_list)
  15. # 打印列表第一个元素的值
  16. print(shopping_list[0])
  17. # 打印列表的长度(元素的数量)
  18. print(len(shopping_list))
  19. # 定义一个价格列表
  20. price = [799, 1024, 200, 800]
  21. # 获取最高的价格
  22. max_price = max(price)
  23. # 获取最低的价格
  24. min_price = min(price)
  25. # 获取从低到高排序好的价格列表
  26. sorted_price = sorted(price)
  27. print(max_price)
  28. print(min_price)
  29. print(sorted_price)
复制代码
列表运算符
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。
Python 表达式结果描述len([1, 2, 3])3长度[1, 2, 3] + [4, 5, 6][1, 2, 3, 4, 5, 6]组合['Hi!'] * 4['Hi!', 'Hi!', 'Hi!', 'Hi!']重复3 in [1, 2, 3]True元素是否存在于列表中for x in [1, 2, 3]: print(x, end=" ")1 2 3迭代Tuple(元组):()
Python 的元组与列表类似,不同之处在于元组的元素不能修改,属于不可变数据类型。
元组使用小括号 ( ),列表使用方括号 [ ]。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。 
  1. # 创建元祖
  2. tup1 = ('Google', 'Runoob', 1997, 2000)
  3. tup2 = (1, 2, 3, 4, 5 )
  4. tup3 = "a", "b", "c", "d"   #  不需要括号也可以
  5. type(tup3) #<class 'tuple'>
  6. # 元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用:
  7. tup1 = (50)
  8. type(tup1)     # 不加逗号,类型为整型 <class 'int'>
  9. tup2 = (50,)
  10. type(tup2)     # 加上逗号,类型为元组 <class 'tuple'>
  11. # 元组与字符串类似,下标索引从 0 开始,可以进行截取,组合等。
  12. tup1 = ('Google', 'Runoob', 1997, 2000)
  13. tup2 = (1, 2, 3, 4, 5, 6, 7 )
  14. print ("tup1[0]: ", tup1[0])       # tup1[0]:  Google
  15. print ("tup2[1:5]: ", tup2[1:5])   # tup2[1:5]:  (2, 3, 4, 5)
  16. # 元组中的元素值是不允许修改的,但我们可以对元组进行连接组合
  17. tup1 = (12, 34.56)
  18. tup2 = ('abc', 'xyz')
  19. # 以下修改元组元素操作是非法的。
  20. # tup1[0] = 100
  21. # 创建一个新的元组
  22. tup3 = tup1 + tup2
  23. print (tup3)      # (12, 34.56, 'abc', 'xyz')
  24. # 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
  25. tup = ('Google', 'Runoob', 1997, 2000)
  26. print (tup)
  27. # 删除元祖
  28. del tup
  29. print (tup) # 元组被删除后,输出变量会有异常信息
复制代码
元祖运算符
与字符串一样,元组之间可以使用 +、+=和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
Python 表达式结果描述
  1. len((1, 2, 3))
复制代码
3计算元素个数
  1. >>> a = (1, 2, 3)
  2. >>> b = (4, 5, 6)
  3. >>> c = a+b
  4. >>> c
  5. (1, 2, 3, 4, 5, 6)
复制代码
(1, 2, 3, 4, 5, 6)连接,c 就是一个新的元组,它包含了 a 和 b 中的所有元素。
  1. >>> a = (1, 2, 3)
  2. >>> b = (4, 5, 6)
  3. >>> a += b
  4. >>> a
  5. (1, 2, 3, 4, 5, 6)
复制代码
(1, 2, 3, 4, 5, 6)连接,a 就变成了一个新的元组,它包含了 a 和 b 中的所有元素。
  1. ('Hi!',) * 4
复制代码
('Hi!', 'Hi!', 'Hi!', 'Hi!')复制
  1. 3 in (1, 2, 3)
复制代码
True元素是否存在
  1. for x in (1, 2, 3):
  2.     print (x, end=" ")
复制代码
1 2 3迭代Dictionary(字典):{}
字典是另一种可变数据类型,且可存储任意类型对象。

字典的每个键值对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中。
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变数据类型,如字符串,数字,布尔类型,元组。
注意:dict
作为 Python 的关键字和内置函数,变量名不建议命名为 dict。
  1. # 使用大括号 {} 来创建空字典
  2. emptyDict1 = {}
  3. # 使用内建函数 dict() 创建空字典
  4. emptyDict2 = dict()
  5. tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
  6. # 使用键获取字典的值
  7. print ("tinydict['Name']: ", tinydict['Name'])   # tinydict['Name']:  Runoob
  8. print ("tinydict['Age']: ", tinydict['Age'])     # tinydict['Age']:  7
  9. print ("tinydict['Alice']: ", tinydict['Alice']) # 键不存在,输出错误信息
  10. # 更新或添加键值
  11. tinydict['Age'] = 8              # 更新键 Age 对应的值
  12. tinydict['School'] = "菜鸟教程"  # 键 School 不存在,则添加
  13. print ("tinydict['Age']: ", tinydict['Age'])        # tinydict['Age']:  8
  14. print ("tinydict['School']: ", tinydict['School'])  # tinydict['School']:  菜鸟教程
  15. # 删除键、清空字典、删除字典
  16. del tinydict['Name'] # 删除键 Name
  17. tinydict.clear()     # 清空字典
  18. del tinydict         # 删除字典
  19. # 创建字典 temperature_dict 其中包括啊 a,b,c 三个键对应值为 1, 2, 3
  20. temperature_dict = {"a" : 1, "b" : 2, "c" : 3}
  21. # 打印字典中键的数量  
  22. print(len(temperature_dict))     # 3
  23. # 打印所有键的列表
  24. print(temperature_dict.keys())   # dict_keys(['a', 'b', 'c'])
  25. # 打印所有值的列表
  26. print(temperature_dict.values()) # dict_values([1, 2, 3])
  27. # 打印所有键值对组成的元祖的列表
  28. print(temperature_dict.items())  # dict_items([('a', 1), ('b', 2), ('c', 3)])
复制代码
字典应用示例:查询流行语含义
  1. # 结合input、字典、if判断,做一个查询流行语含义的电子词典程序
  2. slang_dict["双减"] = "指进一步减轻义务教育阶段学生作业负担和校外培训负担。其目标是使学校教育教学质量和服务水平进一步提升,作业布置更加科学合理,学校课后服务基本满足学生需要,学生学习更好回归校园,校外培训机构培训行为全面规范。"
  3. slang_dict["破防"] = "原指在游戏中突破了对方的防御,使对方失去防御能力。现指因遇到一些事或看到一些信息后情感上受到很大冲击,内心深处被触动,心理防线被突破。"
  4. slang_dict["元宇宙"] = "源于小说《雪崩》的科幻概念,现指在XR(扩展现实)、数字孪生、区块链和AI(人工智能)等技术推动下形成的虚实相融的互联网应用和社会生活形态。现阶段,元宇宙仍是一个不断演变、不断发展的概念。Facebook(脸书)对外公布更名为“Meta”,该词即来源于“Metaverse”(元宇宙)。"
  5. slang_dict["绝绝子"] = "该词流行于某网络节目,节目中一些粉丝用“绝绝子”为选手加油。多用于赞美,表示“太绝了、太好了”。这个词引发了网友对网络语言的关注和讨论。"
  6. slang_dict["躺平"] = "该词指人在面对压力时,内心再无波澜,主动放弃,不做任何反抗。“躺平”更像是年轻人的一种解压和调整方式,是改变不了环境便改变心态的自我解脱。短暂“躺平”是为了积聚能量,更好地重新出发。"
  7. slang_dict["伤害性不高,侮辱性极强"] = "一段网络视频中,两名男子相互夹菜,而同桌的另一名女子则显得很孤单。于是有网友调侃“伤害性不高,侮辱性极强”。后被网友用来调侃某事虽然没有实质性危害,但是却令人很难堪。"
  8. slang_dict["我看不懂,但我大受震撼"] = "源自导演李安在纪录片《打扰伯格曼》(2013)里评价一部影视作品的话。现多用于表示自己对某件事情的不解、震惊。"
  9. query = input("请输入您想要查询的流行语:")
  10. if query in slang_dict:
  11.     print("您查询的" + query + "含义如下")
  12.     print(slang_dict[query])
  13. else:
  14.     print("您查询的流行语暂未收录。")
  15.     print("当前本词典收录词条数为:" + str(len(slang_dict)) + "条。")
复制代码
 

来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除

相关推荐

您需要登录后才可以回帖 登录 | 立即注册