1 列表
#1.Dict字典
1.1 定义
字典是另一种可变容器模型,且可存储任意类型对象。
1.2 创建
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用(,)分割,整个字典包括在花括号({})中,格式如下所示:
a={key1:vaue1,key2:value2}
键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串、数字或者元组。
创建一个空字典:
a={}
1.3字典的方法
(1)使用字典
a.访问字典中的值:
a={‘weather’:’sunny’,’color’:’blue’}
print(a[‘weather’])
输出:
sunny
b.添加键-值对:
字典是一种动态结构,可随时在其中添加键-值对,可依次指定字典名、用方括号括气的键和相关的值:
a={‘weather’:’sunny’,’color’:’blue’}
print(a)
a[‘x_position’]=2
a[‘fruit’]=’apple’
print(a)
输出:
{‘weather’:’sunny’,’color’:’blue’}
{‘weather’:’sunny’,’color’:’blue’,‘x_position’:2, ‘fruit’: ’apple’}
c.修改字典中的值:
a={‘weather’:’sunny’,’color’:’blue’}
print(a)
a[‘weather’]= frog
print(a)
输出:
{‘weather’:’sunny’,’color’:’blue’}
{‘weather’:’frog’,’color’:’blue’}
**d.删除键值对:**对于字典中不需要的信息,可使用del语句将相应的键-值对彻底删除。使用del语句时,必须指定字典名和要删除的键。删除的键-值对永远消失了。
a={‘weather’:’sunny’,’color’:’blue’}
print(a)
del a[‘weather’]
print(a)
输出:
{‘weather’:’sunny’,’color’:’blue’}
{’color’:’blue’}
(2)遍历字典
一个Python字典可能只包含几个键值对,也可能包含数百万个键值对。鉴于字典可能包含大量的数据,Python支持对字典遍历。字典可用于以各种方式存储信息,因此有多种遍历字典的方式:可遍历字典的所有键-值对、键或者值。
**a.遍历所有的键-值对:**使用for循环来遍历这个字典。
a={‘weather’:’sunny’,’color’:’blue’}
for k,v in a.items():
print(“\nKey:”+k)
print(“Value:”+v)
输出一个键-值对列表,\n确保在输出每个键值对前都插入一个空行:
Key:weather
Value:sunny
Key:color
Value:blue
b.遍历字典中所有的键:
在不需要字典中的值时,方法keys()很有用:
a={‘weather’:’sunny’,’color’:’blue’}
for n in a.keys():
print(n.title())
输出:
Weather
Color
注意:在遍历字典时,会默认便利所有的键,所以若为for n in a:,结果不变。
c.按顺序遍历字典中的所有键
在获取字典的元素时,获取顺序是不可预测的。要以特定顺序返回元素,一种方法是在for循环中对返回的键进行排序。可使用函数sorted()来获得按特定顺序排列的键列表的副本。
例如:for n in sorted(a.keys()):
d.遍历字典中的所有值,可使用方法values(),返回一个值列表,不包含任何键。方法同b。
(3)嵌套
有时需要将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套。你可以在列表中嵌套字典、在字典中嵌套列表、在字典中嵌套字典。
a.字典列表:
a1={‘weather’:’sunny’,’color’:’blue’}
a2={‘weather’:’sunny’,’color’:’green’}
a3={‘weather’:’sunny’,’color’:’red’}
a=[a1,a2,a3]
for b in a:
print(b)
输出:
{‘weather’:’sunny’,’color’:’blue’}
{‘weather’:’sunny’,’color’:’green’}
{‘weather’:’sunny’,’color’:’red’}
b.在字典中存储列表:
有时,需要将列表存储在字典中,而不是将字典存储在列表中。
a={‘weather’:[’sunny’, ’frog’],
’color’:[’blue’,’green’]}
c.在字典中存储字典:
a={‘x’:{‘weather’:’sunny’,‘color’:’blue’,},
‘y’:{‘weather’:’frog’,‘color’:’blue’,},
(4)一些内置函数及方法:
radiansdict.clear()
删除字典内所有元素
radiansdict.copy()
返回一个字典的浅复制
radiansdict.fromkeys()
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
radiansdict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值
key in dict
如果键在字典dict里返回true,否则返回false
radiansdict.items()
以列表返回可遍历的(键, 值) 元组数组
radiansdict.keys()
返回一个迭代器,可以使用 list() 来转换为列表
radiansdict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
radiansdict.update(dict2)
把字典dict2的键/值对更新到dict里
radiansdict.values()
返回一个迭代器,可以使用 list() 来转换为列表
pop(key[,default])
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
popitem()
随机返回并删除字典中的一对键和值(一般删除末尾对)。
2 集合
2.1 特性
集合(set)是一个无序的不重复元素序列。可以使用大括号{}或者set()函数创建集合,注意:创建一个空集合必须用set()而不是{},因为{}是用来创建一个空字典。
2.2 创建
创建格式:parame={value01,value02,…}
或者set(value)
2.3方法
a.添加元素:add
x={0,1,2,3,4,5}
x.add(“s”)
print(x)
输出:
x={0,1,2,3,4,5,’s’}
b.清空集合:clear
c.移除元素:
x.remove:将元素从集合s中移除,如果元素不存在,则会发生错误。
x.discard:将元素从集合s中移除,如果元素不存在,不会发生错误。
x.pop:设置随机删除集合中的一个元素。
d.计算集合元素个数:len(x)
e.判断元素是否在集合中存在:a in x
3 判断语句(要求掌握多条件判断)
a.if语句的判断条件:
可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。当判断条件为多个值时,可以使用以下形式:
if 判断条件1:
执行语句1……
elif 判断条件2:
执行语句2……
elif 判断条件3:
执行语句3……
else:
执行语句4……
b.嵌套:
if 表达式1:
语句1
if 表达式2:
语句2
elif 表达式3:
语句3
else
语句4
elif 表达式4:
语句5
else:
语句6
4 三目表达式
Python可通过if语句来实现三目运算符的功能,因此可以近似地把这种if语句当成三目运算符。作为三目运算符的if语句的语法格式如下:
为真时的结果 if 判断条件 else 为假时的结果
运算规则为:如果判断条件返回真,则执行并返回为真时的结果;如果判断条件返回假,则执行并返回为假时的结果。
5 循环语句
a.while循环
Python 编程中while语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:
while 判断条件:
执行语句……
执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。当判断条件假false时,循环结束。
while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立。
b.for循环
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。for循环的语法格式如下:
for x in xs:
statements(s)
另外一种执行循环的遍历方式是通过索引。
c.嵌套循环
Python 语言允许在一个循环体里面嵌入另一个循环。
Python for 循环嵌套语法:
for iterating_var in sequence: for iterating_var in sequence: statements(s) statements(s)
Python while 循环嵌套语法:
while expression: while expression: statement(s) statement(s)
你可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环, 反之,你可以在for循环中嵌入while循环。
参考资料:
《Python编程:从入门到实践》
菜鸟教程:Python编程