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 +/

相关推荐
岁岁岁平安4 分钟前
spring学习(spring-DI(字符串或对象引用注入、集合注入)(XML配置))
java·学习·spring·依赖注入·集合注入·基本数据类型注入·引用数据类型注入
武昌库里写JAVA7 分钟前
Java成长之路(一)--SpringBoot基础学习--SpringBoot代码测试
java·开发语言·spring boot·学习·课程设计
qq_5895681012 分钟前
数据可视化echarts学习笔记
学习·信息可视化·echarts
ZSYP-S42 分钟前
Day 15:Spring 框架基础
java·开发语言·数据结构·后端·spring
yuanbenshidiaos1 小时前
c++------------------函数
开发语言·c++
程序员_三木1 小时前
Three.js入门-Raycaster鼠标拾取详解与应用
开发语言·javascript·计算机外设·webgl·three.js
兔C1 小时前
微信小程序的轮播图学习报告
学习·微信小程序·小程序
是小崔啊1 小时前
开源轮子 - EasyExcel01(核心api)
java·开发语言·开源·excel·阿里巴巴
海海不掉头发1 小时前
苍穹外卖-day05redis 缓存的学习
学习·缓存
tianmu_sama1 小时前
[Effective C++]条款38-39 复合和private继承
开发语言·c++