Python之字典及while循环解读

  • Post category:Python

Python中的字典是一种映射类型的数据结构,类似于Java中的HashMap或C++中的Map。字典是由键和对应值成对组成的,键值对之间以冒号(:)分隔,每个键值对之间以逗号(,)分隔,整个字典放在花括号({})中。在Python中,字典的键必须是不可变的,比如字符串、数字或元组等,而字典中的值可以是任何Python对象。

下面是一个简单的字典示例:

my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}

其中,字典有三个键值对,分别是’name’、’age’和’gender’,它们对应的值分别是’Tom’、20和’male’。

要访问字典中的元素,可以使用字典的键作为下标:

print(my_dict['name'])  # 输出:Tom

如果访问的键不存在于字典中,会抛出KeyError异常,可以使用get()方法来避免这种情况:

print(my_dict.get('height', 180))  # 输出:180

在上面的示例中,由于字典中不存在键’height’,所以get方法返回默认值180。

另外,Python中的while循环用于重复执行某一段代码,直到指定的条件不再满足为止。while循环的基本语法如下:

while expression:
    statement(s)

其中,expression表示循环条件,每次循环都会执行statement(s)中的语句,直到expression的值为False。

下面是一个简单的while循环示例,该循环会一直输入数字并计算它们的和,直到输入0为止:

sum = 0
num = 1
while num != 0:
    num = int(input('请输入数字:'))
    sum += num
print('数字的和为:', sum)

在上面的示例中,sum变量被初始化为0,num变量被初始化为1。while循环的条件是num不等于0,每次循环中都会输入一个数字并加到sum变量中,然后继续判断num是否为0。当输入数字为0时,循环结束,输出数字的和。

另外,可以使用while循环遍历字典中的键值对,下面是一个实现方式:

my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}
keys = list(my_dict.keys())
idx = 0
while idx < len(keys):
    key = keys[idx]
    val = my_dict[key]
    print(key, ':', val)
    idx += 1

在上面的示例中,首先使用keys()方法获取字典中的所有键,然后使用while循环遍历这些键值对并输出。变量idx表示当前遍历到的键的下标,每次循环中,根据键的下标获取对应的键值对,然后输出键和值。循环结束条件是当前下标大于等于键的总数。