课七
之前学过的数据类型:整数,浮点数。字符串,布尔值,空值
集合:list[列表],tuple(元组)
userName=['zhangsan','lisi','wangwu']
for i in userName:
if'zhangsan'==i:
continue
print(i)
一
#注:缩进符号很重要
1.如果全篇(就是python代码)没有缩进代码‘tab’,
那说明没有for while if else eilf等条件(流程)控制语句和循环语句。
数据类型+:dict(dictionary)字典,使用(键(key):值(value)对)存储,优点:具有
疾速的查找速度。
eg:
定义好字典{键:值,键:值}键:值,以逗号分隔
d={'李四':3,'王五':4,'张三':5}
print(d['张三'])#取字典里面的某个值
改变字典当中的值
方式1.
d['张三']=99
print(d['张三'])
如果改变的键不存在于字典当中会报错
print(d['小明'])
KeyError: '小明'
判断键是否存在于字典中
print('-----:',d.get('张三'))
删除字典当中的元素
d.pop('王五')
print(d)
一行一行的输出字典中的键值
print(d['张三'])
print(d['李四'])
循环打印字典
d1={'李四':3,'王五':4,'张三':5}
for i in d1: #i表示的是字典中的键,d[i]---字典当中的值
print('---',d[i])
总结,和list相比,dict的优缺点
1.查找和插入的速度快,不会随着key的增加而增加
2.需要占用大量内存,内存浪费
list优缺点
1.查找和插入的时间,随着元素的增加而增加
2.占用空间少,浪费内存少
dict的注意事项
1.字典当中的key是不可对象,唯一,不能重复
通过key计算位置的算法(字典),我们称为哈希算法
a={1:'asd',1:'qwe'}
print(a)
dic1 = {"zhangsan":[180,87,98]}
如何取87
I = dic1["zhangsan"]
I[1]
print(I[1])
dic2 = {'lisi':{"爱好":[1,2,3],"score":98}}
如何取3
a = dic2['lisi']["爱好"][2]
print(a)
二
List 和 tuple也是一种python 内置的数据类型’
Len 长度
超出列表索引会报错
IndexError:list index out of range
a=[] , []——方括号表示集合
classmates长度L[3]=L[Len(classmetes)-1] , Len(classmetes)-1表示列表当中最后一个元素的索引
A.list列表: list是一种有序的集合,可以任意添加和删除其中的元素
将‘小红’加入当前 classmates 中
Classmates. Append(‘小红’)
# append():向列表中最后插入元素(一个参数)。 列表当中的方法,用‘.’调用
# Insert(): 在hiding索引出,插入元素(两个参数)
# 删除元素
# pop():删除列表当中最后的一个元素
Classmates.pop()
#pop(index):删除制定索引的元素
Classmates.pop()
Print(classmates)
Classmates.pop(1)
Print(classmates)
B.tuple元组:也是一种数据类型,有序,不能添加或删除元素,即tuple一旦初始化就不能修改了。没有list的添加删除方法(append(),pop(),insert()等方法)。
classmates=('zhangsang' ,'lisi','wangwu','sdf')
money =(3000,4000,5000)
tuple的意义:tuple不能改变,代码更安全。如果可能,能有tuple代替list就尽量用tuple。
list=[[]],二维列表
tuple=([1,2,3],[4,5,6],[7,8,9])
如果tuple里面有list,那么可以改变list 的元素。
tuple的缺点,当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来。
eg.
>>>t=(1.2)
>>>t
(1.2)
a.定义一个空tuple:tuple=()
b.定义只有一个元素的tuple:tuple=(1,)
3.条件判断语句
if…else
#比如输入用户年龄,根据年龄打印输出不同的内容
age = 20
if age>=18:
print('你的年龄是 %s' % age)
print('成人')
根据python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了。
如果if语句判断为False,就不执行。(否则什么都不做)
也可以给if添加一个else语句,意思是如果if判断为False,不要执行if的内容,去执行else里面的内容。
age=5
if age>=18:
print('你的年龄是 %s' % age)
print('成人')
else:
print('你的年龄是 %s' % age)
print('未成年')
注意:不要少写了冒号:
可以用else if缩写:elif
age=3
if age>=18:
print('adult')
elif age>=6:
print('Youth')
else:
print('kid')
#elif是else if的缩写,完全可以有多个elif。
语法
‘’’
if<条件判断1>:
<执行内容1>
elif<条件判断2>:
<执行内容2>
elif<条件判断3>:
<执行内容3>
else:
<执行内容n>
说明:从上往下判断,如果在某个判断上为True,那么把判断对应的语句执行后,
就忽略掉剩下的elif和selse。
Tips:if判断条件还可以简写,比如写:
if x
print(
只要x是非零数值,空字符串,费空list则判断为Ture,否则为Falese
三
Python循环
for循环语法
for迭代变量 in 对象():
循环体
例:
1.userName=['zhang','lisi','wangwu','xiaoming','xiaohong']
for n in userName:
print(n)
2.other=list(range(0,100))
print(other)
3.list=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
for D in list:
print(D)
4.range(N)——生成0-N个元素组成的列表,[0,N) ,左闭右开
range(m,n)——生成m-n个元素的列表