学习python的第二天

第四章 字典
1.组成
字典由键和对应的值组成,键-值称为项。
2.表示
花括号,键与值之间用冒号,项之间用逗号

phonebook = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

3.dict
可以使键-值对序列变为字典

items=[('name','mike'),('age',42)]
d=dict(items)
print(d)
print(d['age'])

4.字典方法

  • clear 删除所有项
  • copy 浅复制 函数deepcopy深复制
  • fromkeys 创建一个新字典,包含指定的键,且每个键对应的值都是None
  • get d.get('name', 'N/A')
  • items 方法items返回一个包含所有字典项的列表,其中每个元素都为(key, value)的形式
  • pop 方法pop可用于获取与指定键相关联的值,并将该键值对从字典中删除。
  • popitem 随机弹出一个字典项(字典无序)
  • setdefault 类似get,且能在字典不存在的值设定值
  • update 用一个字典中的项更新另一个字典
    第五章
    1.打印多个参数,使用逗号分隔
    print(‘age’,42)
    打印出的结果,各参数之间包含一个空白字符
    2.赋值
    序列解包:
    同时给多个变量赋值。 x,y,z=1,2,3
    可用于交换多个变量的值 x,y=y,x
    链式赋值:
    x=y=3
    增强赋值:如+=
    3.在Python中,使用冒号(:)指出 接下来是一个代码块,并将该代码块中的每行代码都缩进相同的程度
    4.条件语句
    在布尔表达式中,这些值都会被解释器视为假:
    False None 0 “” () [] {}
    elif 是else if的缩写
    is 相同运算符 判断是否是同一个对象
if 条件:
	执行语句1
elif 条件:
	执行语句2
else:
	执行语句3

5.循环

  • while循环
while 条件:
	执行语句
  • for循环
    序列迭代
    范围内置函数range,如range(1,5)
numbers=[0,1,2,3,4,5,6,7,8,9]
for number in numbers:#注意有冒号
    print(number)

迭代字典

d={'x':1,"y":2,"z":3}
for key in d:
    print(key,d[key])
d={'x':1,"y":2,"z":3}
for key,values in d.items():
    print(key,values)

6.迭代工具

  • 并行迭代 函数zip 将两个序列缝合起来,返回一个由元组组成的序列(可以用list再转为列表)
  • 迭代时获取索引 函数enumerate:用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标
seq=['one','two','three']
for j,element2 in enumerate(seq):
    print(j,element2)
  • 反向迭代和排序后再迭代:reversed,sorted。用户任何序列或可迭代的对象,且不就地修改对象,返回反转和排序后的版本。
    sorted返回一个列表
    reversed返回一个可迭代对象(能在for循环等处使用)
 data=[4,3,15,2,3,9]
print(sorted(data))
data2="hello,world"
print(list(reversed(data2)))

在这里插入图片描述

7.跳出循环
break continue
8.简单推导
我理解为后者是前面x*x,(x,y)的约束条件

print([x*x for x in range(10)])
print([x*x for x in range(10) if x%3==0])
print([(x,y)for x in range(3) for y in range(3)])

在这里插入图片描述

男女孩匹配

girls=['alice','bernice','clarice']
boys=['chris','arnold','bob']
letterGirls={}#创建字典
for girl in girls:
    letterGirls.setdefault(girl[0],[]).append(girl)#每项的键为一个字母,值为以这个字母打头的女孩名字组成的列表
print([b+'+'+g for b in boys for g in letterGirls[b[0]]])#列表推导,遍历所有男孩,查找名字首字母与当前男孩相同的所有女孩

10.其他语句

  • pass 什么也不做
  • del语句 删除
  • exec和eval
    exec将字符串作为代码执行
    exec(‘sqrt=1’,scope)
    scope为字典,作为代码字符串的命名空间

eval计算用字符串表示的Python表达式的值

print(eval(input("Enter an arithmetic expression:")))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值