学习笔记(2024.9.19)

列表

序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。

  • 列表中的元素是有顺序的。
  • 列表是可变的。
  • 列表可以包含不同类型的元素。例如,一个列表可以同时包含整数、浮点数、字符串甚至是其他列表。
  • 列表可以动态地增加其大小。当添加新元素时,列表会自动调整其内部容量。

li = [1, 2 , 3, 4, 5]

列表方法

append() 方法:在列表末尾追加元素。

del 语句:删除元素 del li[1]。

clear(): 移除列表中的所有元素。

copy(): 返回一个浅拷贝的列表。

count(x): 返回元素 x 在列表中出现的次数。

extend(iterable): 将 iterable 中的所有元素添加到列表末尾。

index(x[, start[, end]]): 返回元素 x 在列表中的索引位置。如果提供了可选参数 start 和 end,则在指定范围内查找。

insert(i, x): 在索引 i 处插入元素 x。

pop([i]): 移除并返回索引为 i 的元素,默认为最后一个元素。

remove(x): 移除列表中第一个值为 x 的元素。

reverse(): 反转列表中的元素。

sort(key=None, reverse=False): 对列表元素进行排序,可以根据 key 函数进行自定义排序,并可以选择是否反转排序顺序。



元组

元组(Tuple)是 Python 中另一种常用的数据结构。与列表类似,元组也是一种序列类型。

元组定义方式

tupe = (1, 2, 3, 4, 5)

tupe = 1, 2, 3, 4, 5(括号可以省略)

t = (1,) (单个元素需要加逗号才是元组)

元组的特点

  • 不可变性:
    元组是不可变的,这意味着一旦创建了元组,就不能修改它的内容。不能向元组中添加或删除元素,也不能修改元组中的元素
  • 有序性:
    元组中的元素是有顺序的,每个元素都有一个确定的位置。这个位置由索引表示,索引从 0 开始。
  • 异质性:
    元组可以包含不同类型的元素。例如,一个元组可以同时包含整数、浮点数、字符串甚至是其他元组或列表。
  • 索引访问:
    可以通过索引来访问元组中的元素。正向索引从 0 开始,负向索引从 -1 开始,表示元组的最后一个元素。
  • 切片操作:
    元组支持切片操作,可以获取元组的一部分。切片操作使用冒号分隔的索引范围,例如 tuple[start🔚step]。
  • 内置方法:
    虽然元组是不可变的,但仍然提供了一些内置方法,如 count() 和 index(),用于操作元组。

元组方法

count(x):返回元素 x 在元组中出现的次数。

index(x[, start[, end]]):返回元素 x 在元组中的索引位置。如果提供了可选参数 start 和 end,则在指定范围内查找。

t = (1, 2, 3, 2, 4, 2)
print(t.index(2))  # 输出:1
print(t.index(2, 2, 5))  # 输出:3

字典

字典(Dictionary)是 Python 中一种非常重要的数据结构,它是一种可变的无序的容器类型,用于存储键值对(key-value pairs)。

字典中的每个元素都由一个键和对应的值组成,键必须是不可变的类型(如字符串、数字或元组),而值可以是任意类型。

字典的创建方式

d = {‘key1’: ‘value1’, ‘key2’: ‘value2’}

d = dict(key1=‘value1’, key2=‘value2’)

d = dict([(‘key1’, ‘value1’), (‘key2’, ‘value2’)])

字典的特点

  • 键值对:
    每个元素包含一个键和一个对应的值。键是唯一的,但值可以重复。
  • 无序性:
    字典中的元素没有固定的顺序。在 Python 3.7 及之后版本中,字典会保持插入顺序,但这并不意味着它是有序的,因为这种顺序依赖于实现细节。
  • 可变性:
    字典是可变的,可以随时添加、删除或修改元素。
  • 键的唯一性:
    字典中的键必须是唯一的。如果尝试插入具有相同键的新元素,旧值将被新值替换
  • 键的不可变性:
    键必须是不可变的数据类型,如字符串、数字或元组。列表和其他可变类型不能作为键。

字典的内置方法

clear():清空字典中的所有元素。

d.clear()

copy():
返回字典的一个浅拷贝。

new_dict = d.copy()

fromkeys(seq[, value]):
创建一个新的字典,其中包含 seq 中的键,所有键的值均为 value(默认为 None)。

new_dict = dict.fromkeys(['key1', 'key2'], 'default')

get(key[, default]):
返回指定键的值,如果键不存在,则返回 default(默认为 None)。

d.get('key1', 'default')

items():返回字典中的键值对视图。

for key, value in d.items():
    print(key, value)

keys(): 返回字典中的所有键

for key in d.keys():
    print(key)

values(): 返回字典中的所有值

for value in d.values():
    print(value)

pop(key[, default]):移除指定键的元素并返回其值。如果键不存在,则返回 default(默认抛出 KeyError)。

d.pop('key1', 'default')

popitem():移除并返回最后一个插入的键值对(任意一个键值对,如果字典为空则抛出 KeyError)。

d.popitem()

setdefault(key[, default]):如果键在字典中存在,则返回对应的值;否则,将 default 设置为该键的值,并返回 default。

d.setdefault('key4','default')

update([other]):将 other 中的键值对更新到当前字典中。如果存在相同的键,则覆盖原来的值。


集合

集合(Set)是 Python 中的一种内置数据结构,它存储的是无序且不重复的元素。集合中的每个元素都是唯一的,这意味着集合不允许有重复的元素。

集合的特点

  • 无序性:集合中的元素没有固定的顺序。这意味着你不能通过索引来访问集合中的元素。
  • 不重复性:集合中的元素必须是唯一的,不允许有重复的元素。
  • 可变性:集合是可变的,可以添加或删除元素,但不能修改元素(因为集合中的元素本身是不可变的)。
  • 元素类型:集合中的元素必须是不可变类型,如数字、字符串、元组等。列表等可变类型不能作为集合的元素。

创建集合的方式

s = {1, 2, 3}

s = set([1, 2, 3])

集合的操作

集合支持多种数学上的集合操作,如并集、交集、差集等。

# 创建集合
s1 = {1, 2, 3}
s2 = {3, 4, 5}

# 并集(union)
union_set = s1.union(s2)
print("Union:", union_set)  # 输出:{1, 2, 3, 4, 5}

# 交集(intersection)
intersection_set = s1.intersection(s2)
print("Intersection:", intersection_set)  # 输出:{3}

# 差集(difference)
difference_set = s1.difference(s2)
print("Difference:", difference_set)  # 输出:{1, 2}

# 对称差集(symmetric_difference)
symmetric_difference_set = s1.symmetric_difference(s2)
print("Symmetric Difference:", symmetric_difference_set)  # 输出:{1, 2, 4, 5}

集合的内置方法

add(element):向集合中添加一个元素。

s.add(6)

remove(element):从集合中移除指定的元素。如果元素不存在,则抛出 KeyError。

s.remove(1)

discard(element):从集合中移除指定的元素。如果元素不存在,则不做任何操作。

s.discard(7)

pop():随机移除并返回集合中的一个元素。如果集合为空,则抛出 KeyError。

s.pop()

clear():清空集合中的所有元素。

s.clear()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值