Python学习------Day05

字典

  • 字典是另一种可变容器模型

  • 以键值对的形式存在 关键字不可变 不重复

  • 可存储任意类型对象,即任意不可变数据(元组,数字,字符串)

  • 字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中

    d = {key1 : value1, key2 : value2, key3 : value3 }

    tinydict = {'name': 'runoob', 'likes': 123, 'url': 'www.runoob.com'}

    tinydict1 = { 'abc': 456 }
    tinydict2 = { 'abc': 123, 98.6: 37 }

    dict_1 = dict((["uname","zhang"],["age",18]))

    print(dict_1)
    {'uname': 'zhang', 'age': 18}

注意:dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict。

创建空字典

emptyDict = {} 使用大括号 {} 来创建空字典

print(emptyDict) 打印字典

print("Length:", len(emptyDict)) 查看字典的数量

print(type(emptyDict)) 查看类型

使用内建函数dict() 创建字典

emptyDict = dict()

访问字典里的值

把相应的键放入到方括号中,字典名[键名]

#!/usr/bin/python3
 
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
print ("tinydict['Name']: ", tinydict['Name'])
print ("tinydict['Age']: ", tinydict['Age'])
 
输出结果
tinydict['Name']:  Runoob
tinydict['Age']:  7

修改字典

向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值

tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
tinydict['Age'] = 8             
tinydict['School'] = "南航金城"    

删除字典元素

能删单一的元素也能清空字典,清空只需一项操作。

显式删除一个字典用del命令

tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
del tinydict['Name']     # 删除键 'Name'
tinydict.clear()         # 清空字典
del tinydict             # 删除字典

字典键的特性

字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行

字典内置函数

  • len(dict)------计算字典元素个数,即键的总数
  • str(dict)------输出字典,可以打印的字符串表示

字典内置方法

dict.clear()------删除字典内所有元素

dict.copy()------返回一个字典的浅复制

dict.keys()------以列表的形式返回字典所有的键

key in dict------如果键在字典dict里返回true,否则返回false

dict.items()------以列表的形式返回字典所有的键值对

dict.values()------以列表的形式返回字典所有的值

dict.feomkeys()------创建一个新字典

dict.update(dict2)------把字典dict2的键/值对更新到dict里

popitem()------返回并删除字典中的最后一对键和值。

第一个参数用于作为字典的键,第二个参数用于作为字典的值

d1 = dict_01.fromkeys(("姓名","年龄"),("张三",21))

while循环

while 判断条件(condition):

执行语句(statements)......

while 循环使用 else 语句

如果 while 后面的条件语句为 false 时,则执行 else 的语句块

while <expr>:
    <statement(s)>
else:
    <additional_statement(s)>

for 语句

for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。

for循环的一般格式

for <variable> in <sequence>:
    <statements>
else:
    <statements>

整数范围值可以配合 range() 函数使用

for...else

for...else 语句用于在循环结束后执行一段代码。

for item in iterable:
    # 循环主体
else:
    # 循环结束后执行的代码
当循环执行完毕(即遍历完 iterable 中的所有元素)后,会执行 else 子句中的代码,如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句。

range() 函数

如果需要遍历数字序列,可以使用内置 range() 函数。它会生成数列

>>>for i in range(5):
...     print(i)
...
0
1
2
3
4
 
也可以使用 range() 指定区间的值
>>>for i in range(5,9) :
    print(i)
 
5
6
7
8
>>>

range() 以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做'步长')

>>>for i in range(0, 10, 3) :
    print(i)
 
    
0
3
6
9
>>>
或
>>>for i in range(-10, -100, -30) :
    print(i)
 
    
-10
-40
-70
>>>

使用 range() 函数来创建一个列表

>>>list(range(5))
[0, 1, 2, 3, 4]
>>>

break 和 continue 语句及循环中的 else 子句

  • break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
  • continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,提前开启下一次循环

while 中使用 break:

n = 5
while n > 0:
    n -= 1
    if n == 2:
        break
    print(n)
print('循环结束。')
 
输出结果:
4
3
循环结束。

while 中使用 continue:

n = 5
while n > 0:
    n -= 1
    if n == 2:
        continue
    print(n)
print('循环结束。')
 
输出结果:
4
3
1
0
循环结束。

快速注释 ctrl +/

相关推荐
AIAdvocate20 分钟前
Pandas_数据结构详解
数据结构·python·pandas
小言从不摸鱼22 分钟前
【AI大模型】ChatGPT模型原理介绍(下)
人工智能·python·深度学习·机器学习·自然语言处理·chatgpt
铁匠匠匠1 小时前
从零开始学数据结构系列之第六章《排序简介》
c语言·数据结构·经验分享·笔记·学习·开源·课程设计
C-SDN花园GGbond1 小时前
【探索数据结构与算法】插入排序:原理、实现与分析(图文详解)
c语言·开发语言·数据结构·排序算法
迷迭所归处2 小时前
C++ —— 关于vector
开发语言·c++·算法
架构文摘JGWZ2 小时前
Java 23 的12 个新特性!!
java·开发语言·学习
FreakStudio2 小时前
全网最适合入门的面向对象编程教程:50 Python函数方法与接口-接口和抽象基类
python·嵌入式·面向对象·电子diy
leon6252 小时前
优化算法(一)—遗传算法(Genetic Algorithm)附MATLAB程序
开发语言·算法·matlab
小齿轮lsl2 小时前
PFC理论基础与Matlab仿真模型学习笔记(1)--PFC电路概述
笔记·学习·matlab
Aic山鱼3 小时前
【如何高效学习数据结构:构建编程的坚实基石】
数据结构·学习·算法