Python数据结构 List(列表)、Dictionary(字典)
List(列表):[]列表是最常用的 Python 数据类型,它以一个方括号内的逗号分隔值出现。
列表属于可变数据类型,字符串、整数、浮点数、布尔类型属于不可变数据类型。
列表的数据项不需要具有相同的类型。
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
list1 = ['Google', 'Runoob', 1997, 2000]
list2 =
list3 = ["a", "b", "c", "d"]
list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']列表常用的方法(增、删、改)、通过索引取值、函数(求长度、最大值、最小值、排序)
# 定义空的列表(购物清单)
shopping_list = []
# 往购物清单里添加两个商品
shopping_list.append("键盘")
shopping_list.append("键帽")
# 往购物清单里移除一个商品
shopping_list.remove("键帽")
# 往购物清单里移除两个商品
shopping_list.append("音响")
shopping_list.append("电竞椅")
# 更改购物清单的第二个商品
shopping_list = "硬盘"
# 打印列表的值(可变数据类型)
print(shopping_list)
# 打印列表第一个元素的值
print(shopping_list)
# 打印列表的长度(元素的数量)
print(len(shopping_list))
# 定义一个价格列表
price =
# 获取最高的价格
max_price = max(price)
# 获取最低的价格
min_price = min(price)
# 获取从低到高排序好的价格列表
sorted_price = sorted(price)
print(max_price)
print(min_price)
print(sorted_price)列表运算符
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。
Python 表达式结果描述len()3长度 + 组合['Hi!'] * 4['Hi!', 'Hi!', 'Hi!', 'Hi!']重复3 in True元素是否存在于列表中for x in : print(x, end=" ")1 2 3迭代Tuple(元组):()
Python 的元组与列表类似,不同之处在于元组的元素不能修改,属于不可变数据类型。
元组使用小括号 ( ),列表使用方括号 [ ]。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
# 创建元祖
tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d" #不需要括号也可以
type(tup3) #<class 'tuple'>
# 元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用:
tup1 = (50)
type(tup1) # 不加逗号,类型为整型 <class 'int'>
tup2 = (50,)
type(tup2) # 加上逗号,类型为元组 <class 'tuple'>
# 元组与字符串类似,下标索引从 0 开始,可以进行截取,组合等。
tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
print ("tup1: ", tup1) # tup1:Google
print ("tup2: ", tup2) # tup2:(2, 3, 4, 5)
# 元组中的元素值是不允许修改的,但我们可以对元组进行连接组合
tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
# 以下修改元组元素操作是非法的。
# tup1 = 100
# 创建一个新的元组
tup3 = tup1 + tup2
print (tup3) # (12, 34.56, 'abc', 'xyz')
# 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
tup = ('Google', 'Runoob', 1997, 2000)
print (tup)
# 删除元祖
del tup
print (tup) # 元组被删除后,输出变量会有异常信息元祖运算符
与字符串一样,元组之间可以使用 +、+=和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
Python 表达式结果描述len((1, 2, 3))3计算元素个数>>> a = (1, 2, 3)
>>> b = (4, 5, 6)
>>> c = a+b
>>> c
(1, 2, 3, 4, 5, 6)(1, 2, 3, 4, 5, 6)连接,c 就是一个新的元组,它包含了 a 和 b 中的所有元素。>>> a = (1, 2, 3)
>>> b = (4, 5, 6)
>>> a += b
>>> a
(1, 2, 3, 4, 5, 6)(1, 2, 3, 4, 5, 6)连接,a 就变成了一个新的元组,它包含了 a 和 b 中的所有元素。('Hi!',) * 4('Hi!', 'Hi!', 'Hi!', 'Hi!')复制3 in (1, 2, 3)True元素是否存在for x in (1, 2, 3):
print (x, end=" ")1 2 3迭代Dictionary(字典):{}
字典是另一种可变数据类型,且可存储任意类型对象。
字典的每个键值对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中。
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变数据类型,如字符串,数字,布尔类型,元组。
注意:dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict。
# 使用大括号 {} 来创建空字典
emptyDict1 = {}
# 使用内建函数 dict() 创建空字典
emptyDict2 = dict()
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
# 使用键获取字典的值
print ("tinydict['Name']: ", tinydict['Name']) # tinydict['Name']:Runoob
print ("tinydict['Age']: ", tinydict['Age']) # tinydict['Age']:7
print ("tinydict['Alice']: ", tinydict['Alice']) # 键不存在,输出错误信息
# 更新或添加键值
tinydict['Age'] = 8 # 更新键 Age 对应的值
tinydict['School'] = "菜鸟教程"# 键 School 不存在,则添加
print ("tinydict['Age']: ", tinydict['Age']) # tinydict['Age']:8
print ("tinydict['School']: ", tinydict['School'])# tinydict['School']:菜鸟教程
# 删除键、清空字典、删除字典
del tinydict['Name'] # 删除键 Name
tinydict.clear() # 清空字典
del tinydict # 删除字典
# 创建字典 temperature_dict 其中包括啊 a,b,c 三个键对应值为 1, 2, 3
temperature_dict = {"a" : 1, "b" : 2, "c" : 3}
# 打印字典中键的数量
print(len(temperature_dict)) # 3
# 打印所有键的列表
print(temperature_dict.keys()) # dict_keys(['a', 'b', 'c'])
# 打印所有值的列表
print(temperature_dict.values()) # dict_values()
# 打印所有键值对组成的元祖的列表
print(temperature_dict.items())# dict_items([('a', 1), ('b', 2), ('c', 3)])字典应用示例:查询流行语含义
# 结合input、字典、if判断,做一个查询流行语含义的电子词典程序
slang_dict["双减"] = "指进一步减轻义务教育阶段学生作业负担和校外培训负担。其目标是使学校教育教学质量和服务水平进一步提升,作业布置更加科学合理,学校课后服务基本满足学生需要,学生学习更好回归校园,校外培训机构培训行为全面规范。"
slang_dict["破防"] = "原指在游戏中突破了对方的防御,使对方失去防御能力。现指因遇到一些事或看到一些信息后情感上受到很大冲击,内心深处被触动,心理防线被突破。"
slang_dict["元宇宙"] = "源于小说《雪崩》的科幻概念,现指在XR(扩展现实)、数字孪生、区块链和AI(人工智能)等技术推动下形成的虚实相融的互联网应用和社会生活形态。现阶段,元宇宙仍是一个不断演变、不断发展的概念。Facebook(脸书)对外公布更名为“Meta”,该词即来源于“Metaverse”(元宇宙)。"
slang_dict["绝绝子"] = "该词流行于某网络节目,节目中一些粉丝用“绝绝子”为选手加油。多用于赞美,表示“太绝了、太好了”。这个词引发了网友对网络语言的关注和讨论。"
slang_dict["躺平"] = "该词指人在面对压力时,内心再无波澜,主动放弃,不做任何反抗。“躺平”更像是年轻人的一种解压和调整方式,是改变不了环境便改变心态的自我解脱。短暂“躺平”是为了积聚能量,更好地重新出发。"
slang_dict["伤害性不高,侮辱性极强"] = "一段网络视频中,两名男子相互夹菜,而同桌的另一名女子则显得很孤单。于是有网友调侃“伤害性不高,侮辱性极强”。后被网友用来调侃某事虽然没有实质性危害,但是却令人很难堪。"
slang_dict["我看不懂,但我大受震撼"] = "源自导演李安在纪录片《打扰伯格曼》(2013)里评价一部影视作品的话。现多用于表示自己对某件事情的不解、震惊。"
query = input("请输入您想要查询的流行语:")
if query in slang_dict:
print("您查询的" + query + "含义如下")
print(slang_dict)
else:
print("您查询的流行语暂未收录。")
print("当前本词典收录词条数为:" + str(len(slang_dict)) + "条。")
来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除
页:
[1]