Python 3 学习笔记:序列(二)

Python 3 学习笔记:序列(二)


访问列表元素

因为列表也是序列的一种,所以也可以使用索引、切片的方式获取列表中的元素。

操作列表元素

添加元素

可以使用 append() 方法向列表的结尾处追加一个元素,

list.append(element)


该方法只能向列表的结尾处追加元素,如果想要向列表的中间插入一个元素,可以使用如下方法,

list.insert(index, element)


insert() 方法会向指定的索引处插入一个元素,原位置的元素及其以后的元素会自动向后退一位,即其原索引加一。

上面的两种方法都是想列表中添加一个单一的元素,如果想要向一个列表中添加另一个列表,则可以使用如下方法,

list.extend(sequence)

复制

该方法会将 sequence 中的元素按原顺序依次追加到 list 的结尾处。

示例代码:

list = ["hello", "python"]
# append() 方法
list.append(2019)
print(list)
# insert() 方法
list.insert(2, "world")
print(list)
# extend() 方法
sequ = ["天下", "兴亡"]
list.extend(sequ)
print(list)


修改元素

通过索引定位到要修改的元素,然后直接给其赋值即可,

list[index] = newValue


删除元素

  1. 通过索引删除

和修改元素相似,定位要删除的元素的索引,然后使用 del 关键字删除即可,

del list[index]


  1. 根据元素的值删除

使用列表的 remove() 方法实现,

list.remove(elementValue)


对列表进行统计与计算

  1. 获取某个元素出现的次数

使用列表的 count() 方法可以获取列表中某个元素的个数,

list.count(element)


  1. 获取某个元素首次出现的索引

通过列表的 index() 方法可以获取指定元素在该列表中第一次出现的索引,

list.index(element)


  1. 求纯数字列表中元素的和

如果一个列表的元素全部是数字,则可以使用列表的 sum() 方法求其全部元素的和,

sum(list, addend)

复制

其中,addend 为可选参数,默认值 0,如果指定则在列表元素之和的基础上再加上 addend ,如:

list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(sum(list))
print(sum(list, 3))


列表元素排序

  1. sort() 方法

该方法用于将列表中的元素按指定方式排序,排序后元素的索引将会改变,

list.sort(key=None, reverse=False)


key 用于指定从每个元素中提取一个用于比较的键;reverse 默认为 False,表示升序排列,如果为 True 则降序排列。

sort() 方法没有返回值,所以只能对列表排序后,输出该列表,

list = ["hello", "Python", "world", "Welcome", "list"]
list.sort()
print(list)

复制

对全部元素均为数字的列表排序很简单,如果是对字符串元素进行排序,则先对大写字母排序,然后再对小写字母进行排序。如果想不区分大小写排序,需要指定 key 参数的值,如 key=str.lower 。

而且,需要注意如果一个列表中的元素既有数字,又有字符串,则无法使用 sort() 方法进行排序。

  1. sorted() 函数

在 Python 中,提供了一个内置的 sorted() 函数,用于对列表进行排序,该方法返回一个排序后的列表,而原列表保持不变,

new_list = sorted(old_list, key=None, reverse=False)


其中,参数 key 和 reverse 的作用和 sort() 方法的参数一样,例如:

old_list = ["hello", "Python", "world", "Welcome", "list"]
new_list = sorted(old_list, key=str.lower, reverse=True)
print(new_list)


反转列表元素

可以使用列表的方法 reverse() 将列表中的元素反转,

list.reverse()


此方法没有返回值,使用后列表中的元素就会反转调换。

元组

元组与列表相似,也是有一系列按特定顺序排列的元素(可以是 Python 中的任意数据类型)组成,但元组是不可变序列,即不能向元组中追加、删除元素。在形式上,元组的所有元素被放入一对小括号中,两个相邻的元素使用逗号分隔,元素之间没有任何关系。由于元组的不可变特性,所以元组一般用于保存程序中不可修改的内容。

创建元组

只需要给元组指定一个标识符,然后在其中填充元素即可,

tuple = ("hello", "python", 2019, 7, 31)


我们也可以创建一个空元组,

tuple = ()


在 Python 中,元组也不是一定就会使用小括号括起来,只要将一组元素使用逗号分隔开来,Python 就可以视其为元组,

tuple = "hello", "python", 2019, 7, 31


当我们使用 print() 函数打印该元组时,这些元素将会被小括号括起来。

如果创建一个只有一个元素的元组,则需要在元素后面加一个逗号,否则该元组将会被视为一个字符串,或者其他数据类型。

删除元组

因为元组已经创建就不可再改变,所有只能删除元组,而不能删除其中的元素,

del tuple


访问元组元素

元素也是一种序列,所以也可以使用索引、切片的方式访问其中的元素。

元组与列表的区别

  1. 列表属于可变序列,其元素可以被修改或删除;而元组不能,只能整体替换
  2. 元组比列表的访问和处理速度快
  3. 元组可以作为字典的键,而列表不可以

字典

在 Python 中,字典也是可变序列,但是字典没有索引,而是以 键-值 对的形式存储数据。字典具有一下特征;

  1. 通过
    而不是索引来读取
  2. 字典是任意对象的无需集合
  3. 字典是可变的,并且可以任意嵌套
  4. 字典的 必须是唯一的
  5. 字典的 必须不可变

创建字典

定义字典时,每个元素都包含两个部分 ,它们之间使用冒号分隔,组成一个元素,元素和元素之间使用逗号分隔,

dictionary = {key_1:value_1, key_2:value_2, ..., key_n:value_n}


元组中每个元素的 必须是唯一的、不可变的,可以是数字、字符串或者元组。元素的 可以是 Python 中的任何数据类型,且可以不是唯一的。

除了直接创建字典,也可以通过 dict() 和 zip() 函数将列表、元组组合成一个字典,

dictionary = dict(zip(tuple, list))


如果 tuple 和 list 的长度不同,则以短的为基准创建相同长度的字典。

删除字典

删除字典同样可以使用 del 关键字,

del dictionary


如果不想删除字典,而只是想删除其中的全部元素,则可以使用 clear() 方法,

dictionary.clear()


访问字典元素

因为字典不像列表、元组一样具有索引,所以不能通过索引、切片的方式访问其元素。字典只能通过 访问其对应的

操作字典元素

添加元素

字典同列表一样是可变序列,所以可以向其中添加元素,只需要指定元素的键和值即可,

dictionary[key] = value


只要新加入的 key 在字典中已存在的中不存在即可。

修改元素

修改字典的元素其实就是变相的添加元素,只需要 key 值在字典中已存在,就会将其对应的 value 替换成新的值。

删除元素

删除字典中的元素同样可以使用 del 关键字,

del dictionary[key]

复制

将字典元素的 key 删除,其对应的 value 也会被删除,则这个元素在字典中就不存在了。

集合

Python 中的集合和数学中的集合相似,也是用于保存不重复元素的,有可变集合和不可变集合两种。在形式上,集合中的元素之间用逗号分隔,所有元素被放在大括号中。集合最好的应用就是去除重复元素,因为集合中的每个元素都是唯一的。

创建集合

直接将所有元素放入括号中,然后给定一个标识符即可,

1
set = {element_1, element_2, ..., element_n}


如果创建集合的时候,不小心输入了若干个重复的元素,Python 会自动只保留一个。

我们也可以使用 set() 函数将列表、元组转换成集合,

1
set = set(list/tuple)
 


如果我们想创建一个空集合,也只能使用 set() 方法,而不使用空的大括号(因为空的大括号表示一个空字典)。

删除集合

集合同样可以使用 del 关键字删除,

1
del set


操作结合

添加元素

可以使用 add() 方法向集合中添加元素,

1
set.add(element)


删除元素

可以使用 pop() 或 remove() 方法删除集合中的元素,或者使用 clear() 方法清空集合中的元素,

set.pop()


pop() 方法会按顺序删除集合中的第一个元素。

set.remove(element)


remove() 方法需要指定要删除的元素,如果该元素不存在,则抛出异常。

set.clear()


clear() 方法会删除集合中的所有元素,使其变为一个空集合。

集合运算

交集

在 Python 中,求集合的交集使用 & 符号进行运算。

并集

在 Python 中,求集合的并集使用 | 符号进行运算。

差集

在 Python 中,求集合的差集使用 - 符号进行运算。

对称差集

在 Python 中,求集合的对称差集使用 ^ 符号进行运算。

例如,

set_1 = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}
set_2 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
print(set_1 & set_2)
print(set_1 | set_2)
print(set_1 - set_2)
print(set_1 ^ set_2)

◆ ◆ ◆ ◆ ◆

为了帮各位观众老爷们快速入门python,我在这里准备了一套“经典入门教程”,这些是入门付费教程哦,现在当做福利免费赠送给各位观众老爷们,私信我“python入门”就可以领取!

点击我的头像关注我进入主页,就能看到私信按钮了。私信我“python入门”,一个字不能多一个字不能少,即可快速领取!


分享到:


相關文章: