Python从零开始入门 - P3 列表、元组和字典

7. 列表

列表是 Python 中的一种数据结构,它可以存储不同类型的数据,用中括号“[ ]”括起来作为标识。

7.1 列表的循环遍历

列表索引是从0开始的,我们可以通过下标索引的方式来访问列表中的值。

如需循环,一般使用for循环遍历列表,例如:

namesList = ['张三', '李四', '王五']
for name in namesList:
    print(name, end=" ")  # 输出结果为:张三 李四 王五

7.2 列表的常见操作

7.2.1 在列表中增加元素

在列表中增加元素的方式主要有以下三种方法,具体如下:

  • 通过 append()方法 可以向列表的末尾添加单个元素 object,一般格式为:list_name.append( object )

  • 通过 insert()方法 指定位置 index 前插入单个元素 object,一般格式为:list_name.insert( index, object )

  • 通过 extend()方法 可以将另一个列表的所有元素添加到列表的末尾,一般格式为:list_name.extend( list[ ] )

namesList.append("赵六")            # >>> namesList: ['张三', '李四', '王五', '赵六']
namesList.insert(2, "孙七")         # >>> namesList: ['张三', '李四', '孙七', '王五', '赵六']
namesList.extend(["周八", "吴九"])   # >>> namesList: ['张三', '李四', '孙七', '王五', '赵六', '周八', '吴九']

7.2.2 在列表中查找元素

在列表中查找元素可以使用成员运算符或 list 数据结构自带的方法。

  • in(存在,成员运算符),如果在指定的列表中找到值返回 True,否则返回 False

  • not in(不存在,成员运算符),如果在指定的列表中没有找到值返回 True,否则返回 False

  • 通过 count() 方法 可以统计指定元素 object 在列表中出现的次数一般格式为:list_name.count( object )

  • 通过 index() 方法 可以查看指定值在列表中的位置,返回其索引值,一般格式为:list_name.index( object )

温馨提示:如果指定值不存在,使用 index() 方法 将会引发 ValueError 错误并退出进程,使用前最好提前判断一下元素是否存在

namesList.count("张三")      # >>> 输出结果为:1
namesList.index("张三")      # >>> 输出结果为:0
namesList.index("小红")      # >>> ValueError: '小红' is not in list

7.2.3 列表元素的修改

列表元素的修改,也是通过下标来实现的,例如:

namesList[0] = "小红"

7.2.4 在列表中删除元素

在列表中删除元素的方式主要有以下四种,具体如下:

  • 使用 del 关键字,根据目标元素所在位置的索引,将元素从列表中删除,一般格式为:del list_name[ index ] 或 del list_name[ start : end ]

  • 使用 pop() 方法,根据目标元素所在位置的索引,将元素从列表中删除,一般格式为:list_name.pop( index )

温馨提示:pop() 方法如果不提供 index,默认会删除最后一个元素,类似于数据结构的出栈操作

  • 使用 remove() 方法,根据元素本身的值进行删除,一般格式为:list_name.remove( value )

温馨提示:如果列表中有多个和指定值相同的元素,remove() 方法只会删除第一个和指定值相同的元素,如果指定值不存在,将会引发 ValueError 错误并退出进程

  • 使用 clear() 方法,将列表中所有元素全部删除,即清空并返回一个空列表,一般格式为:list_name.clear( )

del namesList[0]         # 删除列表中的第一个元素
del namesList[0:2]       # 删除列表中的前两个元素
namesList.pop(0)         # 删除列表中的第一个元素
namesList.pop()          # 删除列表中的最后一个元素
namesList.remove("张三")  # 删除列表中的值为“张三”的元素
namesList.clear()        # 清空列表

7.2.5 列表的排序操作

列表的排序一般使用以下两种方法,具体如下:

  • 使用 sort() 方法,将列表中的元素按照特定顺序排列,一般格式为:list_name.sort( cmp=None, key=None, reverse=False )

温馨提示:

sort() 方法默认按照自然升序排列列表中的元素(reverse=False),reverse = True 降序, reverse = False 升序

涉及中文排序时,需要明确,sort() 方法是根据字符的编码(Unicode)大小进行排序,与日常中的拼音排序会有稍许区别

其余不常用的参数:cmp指定排序的方法,key指定用来比较的元素

  • 使用 sort() 方法,可以将列表逆置,一般格式为:list_name.reverse()

numsList = [1, 2, 4, 3, 5, 6, 9, 8, 7]
numsList.sort()                             # >>> 排序结果为 [1, 2, 3, 4, 5, 6, 7, 8, 9]
numsList.sort(reverse=True)                 # >>> 排序结果为 [9, 8, 7, 6, 5, 4, 3, 2, 1]
numsList.reverse()                          # >>> 排序结果为 [7, 8, 9, 6, 5, 3, 4, 2, 1]

8. 元组

Python的元组与列表类似,元组同样支持遍历以及使用下标索引来访问元组中的值,不同之处在于元组的元素不能修改,元组使用小括号,列表使用方括号。

8.1 元组常用的内置函数

  • len() 函数,返回元组中的元素个数,一般格式为:len( tuple_name )

  • max() 函数,返回元组中元素最大值 ,一般格式为:max( tuple_name )

  • min() 函数,返回元组中元素最小值 ,一般格式为:min( tuple_name )

  • tuple() 函数, 可以将列表转换成元组,一般格式为:tuple( list_name )

numsTuple = (1, 2, 4, 3, 5, 6, 9, 8, 7)
print(len(numsTuple))           # >>> 输出结果为:9
print(max(numsTuple))           # >>> 输出结果为:9
print(min(numsTuple))           # >>> 输出结果为:1
numsList = [1, 2, 3]
numsTuple2 = tuple(numsList)
print(numsTuple2)               # >>> 输出结果为:(1, 2, 3)

9. 字典

字典当中的元素是通过键值对来存取的。字典由索引(key)和它对应的值(value)组成,用大括号"{ }"括起来作为标识。

一般根据键访问值,但如果使用的是不存在的键,将会引发 KeyError 错误并退出进程,例如:

studentInfo = {'name': "小明", 'id': 10086, 'sex': "男"}
print(studentInfo["name"])     # >>> 输出结果为:小明
print(studentInfo["age"])      # >>> KeyError: 'age'

为了防止抛出键不存在导致的 KeyError 错误,可以使用 get() 方法,一般格式为:dictionary_name.get( key, default )

print(studentInfo.get("name"))     # >>> 输出结果为:小明     当 name 作为键存在时,返回对应的值 "小明 "
print(studentInfo.get("age"))      # >>> 输出结果为:None    当 name 不存在时,返回 None
print(studentInfo.get("age", 18))  # >>> 输出结果为:18      设置一个默认值 18,当检索的键不存在时,返回 18

9.1 字典的常见操作

9.1.1 添加 & 修改字典的元素

向字典中增加新的键值对,如果键值对不存在,则会新建,反之为修改,一般格式为:dictionary_name[ key ] = value

studentInfo["age"] = 18   # >>> 添加元素后的结果为:{'name': '小明', 'id': 10086, 'sex': '男', 'age': 18}
studentInfo["age"] = 24   # age 键值对已存在,该操作结果为将 age 的值由 18 修改为 24

9.1.2 删除字典的元素

删除字典元素的方式主要分为以下三种,具体如下:

  • 使用 del 关键字,根据提供的键,删除字典中的单个元素,一般格式为:del dictionary_name[ key ]

  • 使用 del 关键字删除整个字典,删除完后该字典变量将不复存在,一般格式为:del dictionary_name

  • 使用 clear() 方法删除字典中的所有键值对,即清空并返回一个空的字典,一般格式为:dictionary_name.clear()

del studentInfo["sex"]   # >>> 从字典中删除键为 "sex"的键值对,结果为:{'name': '小明', 'id': 10086}
studentInfo.clear()      # >>> 清空字典,结果为:{ }
del studentInfo          # >>> 删除字典,删除后再访问 studentInfo 将会抛出 name 'studentInfo' is not defined 错误
print(studentInfo)

9.1.3 计算字典中键值对的个数

使用内置函数 len() ,返回字典中存储的键值对个数,一般格式为:len( dictionary_name )

studentInfo = {'name': "小明", 'id': 10086, 'sex': "男"}
print(len(studentInfo))   # >>> 输出结果为:3

9.1.4 获取字典中键 & 值 & 键值对的列表

  • 使用 keys() 方法,返回字典的所有可用键,一般格式为:dictionary_name.keys()

  • 使用 values() 方法,返回字典的所有可用值,一般格式为:dictionary_name.values()

  • 使用 items() 方法,返回字典的所有(键,值)元组对的列表,一般格式为:dictionary_name.items()

studentInfo = {'name': "小明", 'id': 10086, 'sex': "男"}
studentInfo.keys()     # 返回字典的所有可用键  ->  dict_keys(['name', 'id', 'sex'])
studentInfo.values()   # 返回字典的所有可用值  ->  dict_values(['小明', 10086, '男'])
studentInfo.items()    # 返回字典的(键,值)元组对的列表  ->  dict_items([('name', '小明'), ('id', 10086), ('sex', '男')])

for key, value in studentInfo.items():
    print("key=%s,value=%s" % (key, value))  # 遍历字典的键值对
""" 遍历结果
key=name,value=小明
key=id,value=10086
key=sex,value=男
"""

下一篇:Python从零开始入门 - P4 字符串及其相关操作-CSDN博客

  • 24
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习GIS的小黄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值