python task3
一.学习知识点概要
1,dict字典
2,集合
3,判断for
4,三目表达式
5,循环语句while,for
二.学习内容
1,dict字典
定义:三种方法
dic = dict(name =”zhangsan”, age = 19)
dic1 = dict(((“name”, “zhangsan”), (“age”, 19)))
dic2 = {“name”:”laowang”, “age”:20}
(1)增加:
>>> dic = {}
>>> dic[“name”] = “zhangsan”
>>> dic
{‘name’: ‘zhangsan’}
(2)删除:
>>>dic.popitem() # 随机删除一个对应的键值,返回删除的
>>>dic.pop(“key”, None) # 删除指定的键,如果没有返回None
>>> del dic[“key”] # 指定键删除
>>> dic.clear() # 清空字典
(3)改:
>>> dic = {“name”:”zhangsan”}
>>> dic2 = {“age”:2, “name”:”xiaoming”}
>>> dic2.update(dic)
>>> dic2
{‘age’: 2, ‘name’: ‘zhangsan’}
(4)查:
获取字典对应的键的列表
dic.keys()
获取字典对应的值得列表
dic.values()
获取字典对应的键值对的列表
dic.items()
字符串的查找操作,找不到返回None,也就是第二个定义的参数
2,集合
(1)定义:
集合中元素不可重复
s1={1}
(2)特性
集合只支持成员操作符 in
与for循环
(3)方法
1.增加一个
s.add(1)
多个
s.update(5,3,2)
2.删除
要删的数据=s.pop()
s.remove(要删的数据)
3.并集
s1.union(s2)
s1|s2
4.交集
s1.intersection(s2)
s1&s2
5.差集
s1.difference(s2) #s1-(s1&s2)
6.对等差分(并集-交集)
s2.symmetric_difference(s1)
s1^s2
7.判断超集
s1.issuperset(s2) #s1是否是s2的超集,加print会输出false或true
8.判断子集
s1.issubset(s2) #s1是否是s2的子集,之后同
9.判断两集合是否相交
s1.isdisjoint(s2)
(4)特点:
有的可变,有的不可变;元素无次序,不可重复。
集合中的元素不能重复,可作为一种简单高效的元素去重方式。
集合没有索引,它的元素无次序,不是序列。
利用set()和{}建立集合时,要求集合中的元素必须是可哈希(hsshable)的,即在利用set()和{}创建集合的时候,集合中的元素必须是不可变的。
利用set()创建的集合是可变集合,它的类型是不可哈希(unhashable)的。对于这句话的理解是,set()创建的集合,整体上是可变的,可以增、删;但集合中的元素(个体)是不可变(hashable)的,不能被修改,且集合中的元素不能是列表、字典等可变类型的对象。
来自https://www.cnblogs.com/wgbo/p/9577443.html
3,判断for
(1)if
一
if 条件表达式:
语句块
二
if 条件表达式:
语句块
else:
语句块
三
if 条件表达式1:
语句块
else 条件表达式2:
语句块
else 条件表达式3:
语句块
…
else:
语句块
四,嵌套
if 前提条件:
if 后续条件: #
语句块 #
else: #
语句块 #
else:
语句块
4,三目表达式
python的三目表达式目的是得到一个结果
a = 1
b = 2
h = “”
h = “变量1” if a>b else “变量2”
print(h)
或
a = 1
b = 2
h = “”
h = a-b if a>b else a+b
print(h)
5,循环语句while,for
while和for
两种循环的区别是:
while循环之前,先判断一次,如果满足条件的话,再循环.
for循环的时候必须有一个可迭代的对象,才能循环,比如说得有一个数组
(1)while 控制次数:
语句块
语句块(每次循环加一)
(2)for 计数语句 in range(语句)
len() 是返回列表的长度,即元素的个数;
range()是返回一个序列的数