python小记-迭代器、字典、取整

python里的迭代器

在Python中,迭代器(Iterator)是一个实现了迭代协议(Iterator Protocol)的对象,它可以通过一系列连续的调用__next__()方法,按顺序返回元素,直到没有更多元素时引发StopIteration异常。

迭代器有以下特点:

  1. 实现__iter__()方法:迭代器必须实现__iter__()方法,该方法返回迭代器本身,用于支持在for...in...循环中使用。

  2. 实现__next__()方法:迭代器必须实现__next__()方法,该方法返回下一个元素。当没有更多元素时,应该引发StopIteration异常。

  3. 一次性消耗:迭代器通常是一次性的,即遍历完所有元素后,迭代器将不再可用。

Python提供了许多内置的迭代器对象,例如列表(List)、元组(Tuple)、字典(Dictionary)等,它们都是可迭代的,可以使用for...in...语句遍历它们的元素。

此外,Python还提供了一个iter()函数,用于将可迭代对象转换为迭代器。使用iter()函数可以将字符串、列表等可迭代对象转换为对应的迭代器。

下面是一个简单的示例,展示如何使用迭代器:

# 创建一个列表迭代器
my_list = [1, 2, 3, 4, 5]
iter_list = iter(my_list)

# 使用迭代器遍历列表元素
try:
    while True:
        item = next(iter_list)
        print(item)
except StopIteration:
    pass

# 使用for循环遍历列表元素
for item in my_list:
    print(item)

以上代码中,首先使用iter()函数将列表my_list转换为迭代器iter_list,然后使用next()函数和while循环遍历迭代器的元素。最后,使用for循环也可以直接遍历列表元素,无需使用迭代器。

python字典的结构

在Python中,字典(Dictionary)是一种无序的数据集合,用于存储键-值对(Key-Value Pairs)。字典使用大括号 {} 来表示,每个键值对之间用冒号 : 分隔,键和值之间用逗号 , 分隔。字典的键必须是唯一的且不可变的,通常使用字符串、整数或元组作为键,而值可以是任意类型的数据,包括基本数据类型(如整数、字符串、浮点数等)和复杂数据类型(如列表、字典、集合等)。

字典的基本结构如下所示:

my_dict = {
    key1: value1,
    key2: value2,
    key3: value3,
    # ...
}

其中,key1key2key3等表示键,而value1value2value3等表示对应的值。

以下是一个具体的示例:

# 创建一个字典
student_scores = {
    "Alice": 95,
    "Bob": 88,
    "Charlie": 76,
    "David": 90
}

# 访问字典中的值
print(student_scores["Alice"])  # 输出: 95

# 修改字典中的值
student_scores["Bob"] = 92

# 添加新的键值对
student_scores["Eve"] = 85

# 删除键值对
del student_scores["Charlie"]

# 判断键是否存在于字典中
if "David" in student_scores:
    print("David's score:", student_scores["David"])
else:
    print("David is not in the dictionary.")

# 遍历字典的键值对
for name, score in student_scores.items():
    print(name, ":", score)

输出结果:

95
David's score: 90
Alice : 95
Bob : 92
David : 90
Eve : 85

注意,字典是无序的,即键值对的存储顺序与添加顺序可能不同,但在Python 3.7及以后的版本中,字典会保持插入顺序。如果需要有序的字典,可以使用collections模块中的OrderedDict类。

字典和哈希表都是数据结构,用于存储键值对,但在不同的编程语言中可能有不同的术语。在Python中,字典就是哈希表的一种实现。

哈希表是一种用于快速查找和插入数据的数据结构。它通过哈希函数将键映射到对应的索引位置,然后将值存储在该索引位置。这样可以在常数时间复杂度内(O(1))实现对键值对的查找和插入操作。

Python中的字典就是使用哈希表实现的,它是一个无序的数据集合,用于存储键-值对。Python中的字典可以使用大括号 {} 或者 dict() 函数来创建。字典的键必须是唯一的且不可变的,通常使用字符串、整数或元组作为键,而值可以是任意类型的数据。

在Python中,字典是一种使用哈希表实现的数据结构,它可以非常高效地存储和检索键值对。哈希表是字典的底层实现方式,它使得字典能够在常数时间复杂度内进行查找和插入操作,使字典成为Python中非常常用的数据结构之一。

取整

以下是在Python中使用不同取整操作的示例:

import math

# 向下取整(Floor)
num1 = 3.8
result_floor = math.floor(num1)
print("向下取整:", result_floor)  # 输出结果为 3

# 向上取整(Ceil)
num2 = 2.1
result_ceil = math.ceil(num2)
print("向上取整:", result_ceil)  # 输出结果为 3

# 四舍五入(Round)
num3 = 4.6
result_round = round(num3)
print("四舍五入:", result_round)  # 输出结果为 5

# 向零取整(Truncate)
num4 = -5.7
result_truncate = int(num4)
print("向零取整:", result_truncate)  # 输出结果为 -5

# 特定精度取整
num5 = 9.7654
result_precision = round(num5, 2)  # 保留两位小数
print("特定精度取整:", result_precision)  # 输出结果为 9.77

以上示例展示了使用Python中的不同取整操作,分别得到了向下取整、向上取整、四舍五入、向零取整以及特定精度取整的结果。根据不同的取整需求,可以选择合适的取整方法进行处理。

你可能感兴趣的:(python,python,windows,linux)