DataWhale学习计划(第六期):python基础任务3

  1. dict字典
    a. 定义
    字典是另一种可变容器模型,且可存储任意类型对象。
    字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中
    d = {key1 : value1, key2 : value2 }
    键必须是唯一的,但值则不必。
    值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
    一个简单的字典实例:
    dict = {‘Alice’: ‘2341’, ‘Beth’: ‘9102’, ‘Cecil’: ‘3258’}

b. 创建
dict = {}

c. 字典的方法

修改字典
dict = {‘Name’: ‘Runoob’, ‘Age’: 7, ‘Class’: ‘First’}

dict[‘Age’] = 8; # 更新 Age
dict[‘School’] = “菜鸟教程” # 添加信息

print ("dict[‘Age’]: ", dict[‘Age’])
print ("dict[‘School’]: ", dict[‘School’])

删除字典元素
dict = {‘Name’: ‘Runoob’, ‘Age’: 7, ‘Class’: ‘First’}

del dict[‘Name’] # 删除键 ‘Name’
dict.clear() # 清空字典
del dict # 删除字典

print ("dict[‘Age’]: ", dict[‘Age’])
print ("dict[‘School’]: ", dict[‘School’])

字典键的特性
字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:
dict = {‘Name’: ‘Runoob’, ‘Age’: 7, ‘Name’: ‘小菜鸟’}
print ("dict[‘Name’]: ", dict[‘Name’])

2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行,如下实例:
dict = {[‘Name’]: ‘Runoob’, ‘Age’: 7}
print ("dict[‘Name’]: ", dict[‘Name’])

字典内置函数&方法
在这里插入图片描述

Python字典包含了以下内置方法:

序号 函数及描述
1 radiansdict.clear()
删除字典内所有元素
2 radiansdict.copy()
返回一个字典的浅复制
3 radiansdict.fromkeys()
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4 radiansdict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值
5 key in dict
如果键在字典dict里返回true,否则返回false
6 radiansdict.items()
以列表返回可遍历的(键, 值) 元组数组
7 radiansdict.keys()
返回一个迭代器,可以使用 list() 来转换为列表
8 radiansdict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9 radiansdict.update(dict2)
把字典dict2的键/值对更新到dict里
10 radiansdict.values()
返回一个迭代器,可以使用 list() 来转换为列表
11 pop(key[,default])
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
12 popitem()
随机返回并删除字典中的一对键和值(一般删除末尾对)。

  1. 集合
    a… 特性
    集合(set)是一个无序的不重复元素序列。
    可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
    b 创建
    parame = {value01,value02,…}
    或者
    set(value)
    c. 方法

1、添加元素
s.add( x )

thisset = set((“Google”, “Runoob”, “Taobao”))
thisset.add(“Facebook”)
print(thisset)
{‘Taobao’, ‘Facebook’, ‘Google’, ‘Runoob’}

s.update( x )

thisset = set((“Google”, “Runoob”, “Taobao”))
thisset.update({1,3})
print(thisset)
{1, 3, ‘Google’, ‘Taobao’, ‘Runoob’}

thisset.update([1,4],[5,6])
print(thisset)
{1, 3, 4, 5, 6, ‘Google’, ‘Taobao’, ‘Runoob’}

2、移除元素
s.remove( x )

thisset = set((“Google”, “Runoob”, “Taobao”))
thisset.remove(“Taobao”)
print(thisset)
{‘Google’, ‘Runoob’}

thisset.remove(“Facebook”) # 不存在会发生错误
Traceback (most recent call last):
File “”, line 1, in
KeyError: ‘Facebook’

s.discard( x )

thisset = set((“Google”, “Runoob”, “Taobao”))
thisset.discard(“Facebook”) # 不存在不会发生错误
print(thisset)
{‘Taobao’, ‘Google’, ‘Runoob’}

s.pop()
thisset = set((“Google”, “Runoob”, “Taobao”, “Facebook”))
x = thisset.pop()
print(x)

3、计算集合元素个数

len(s)

thisset = set((“Google”, “Runoob”, “Taobao”))
len(thisset)
3

4、清空集合

s.clear()

thisset = set((“Google”, “Runoob”, “Taobao”))
thisset.clear()
print(thisset)
set()

5、判断元素是否在集合中存在
x in s

thisset = set((“Google”, “Runoob”, “Taobao”))
“Runoob” in thisset
True

“Facebook” in thisset
False

集合内置方法完整列表
方法 描述
add() 为集合添加元素
clear() 移除集合中的所有元素
copy() 拷贝一个集合
difference() 返回多个集合的差集
difference_update() 移除集合中的元素,该元素在指定的集合也存在。
discard() 删除集合中指定的元素
intersection() 返回集合的交集
intersection_update() 删除集合中的元素,该元素在指定的集合中不存在。
isdisjoint() 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
issubset() 判断指定集合是否为该方法参数集合的子集。
issuperset() 判断该方法的参数集合是否为指定集合的子集
pop() 随机移除元素
remove() 移除指定元素
symmetric_difference() 返回两个集合中不重复的元素集合。
symmetric_difference_update() 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
union() 返回两个集合的并集
update() 给集合添加元素

  1. 判断语句(要求掌握多条件判断)
    if…else

if …elif…elif…elseage = int(input(“请输入你家狗狗的年龄: “))
print(””)
if age < 0:
print(“你是在逗我吧!”)
elif age == 1:
print(“相当于 14 岁的人。”)
elif age == 2:
print(“相当于 22 岁的人。”)
elif age > 2:
human = 22 + (age -2)*5
print("对应人类年龄: ", human)

  1. 三目表达式
    .条件为真时的结果 if 判段的条件 else 条件为假时的结果
    x = int(input(“please enter first integer:”))
    2 y = int(input(“please enter second integer:”))
    3
    4 #一般的写法
    5 if (x == y):
    6 print(“两数相同!”)
    7 elif(x > y):
    8 print(“较大的数为:”,x)
    9 else:
    10 print(“较大的数为:”,y)
    11
    12 # 三目运算符写法
    13 print(x if(x>y) else y)
  2. 循环语句

while 判断条件:
语句

n = 100

sum = 0
counter = 1
while counter <= n:
sum = sum + counter
counter += 1

print(“1 到 %d 之和为: %d” % (n,sum))

while 循环使用 else 语句
在 while … else 在条件语句为 false 时执行 else 的语句块:
count = 0
while count < 5:
print (count, " 小于 5")
count = count + 1
else:
print (count, " 大于或等于 5")

for in :

else:

for in :

else:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值