1、列表
1-2、从列表提取单个元素
注意:列表的偏移量是从 0 开始的,而不是我们习惯的 1 开始
teacher=['七七','卡西','延君']
teacher[0]='七七'
teacher[1]='卡西'
teacher[2]='延君'
1-3、从列表提取多个元素
口诀:“左右空,取到头;左要取,右不取”
teacher=['七七','卡西','延君']
teacher[:2]=['七七','卡西']
1-4、给列表增加/删除元素
1-4-1、给列表增加元素
格式:列表.append('元素名')
teacher=['七七','卡西','延君']
teacher.append('琦玉')
# 结果为 teacher=['七七','卡西','延君','琦玉']
1-4-2、给列表删除元素
格式:del 列表['元素名']
teacher=['七七','卡西','延君','琦玉']
del teacher[3]
# 结果为 teacher=['七七','卡西','延君']
2、数据类型:字典
2-1、什么是字典
- 字典的表现形式为:teacher={1:'七七',2:'卡西',3:'延君'}
- 字典和列表有3个地方是一样的:1.有名称;2.要用=赋值;3.用逗号作为元素间的分隔符。
- 列表外层用的是中括号[ ],字典的外层是大括号{ }
2-2、给字典增加/删除元素
2-2-1、给字典增加元素
格式:字典[键]=值
teacher={1:'七七',2:'卡西',3:'延君'}
teacher[4]='琦玉'
# 结果为 teacher={1:'七七',2:'卡西',3:'延君',4:'琦玉'}
2-2-2、给字典删除元素
格式:del 字典['键名']
teacher={1:'七七',2:'卡西',3:'延君',4:'琦玉'}
del teacher[4]
# 结果为 teacher={1:'七七',2:'卡西',3:'延君'}
2-2-3、给字典修改元素
格式:字典['键']=值
teacher={1:'七七',2:'卡西',3:'延君'}
teacher[3]='琦玉'
# 结果为 teacher={1:'七七',2:'卡西',3:'琦玉'}
3、知识拓展
3-1、sort()函数(永久改变列表的元素排序)
用法:列表名.sort()
a=[2,3,1,4,3]
a.sort()
print(a)
# 结果为 a=[1, 2, 3, 3, 4]
3-2、sorted()函数(短暂性的对列表进行临时排序)
用法:sorted(列表名)
a=[2,3,1,4,3]
print(sorted(a))
print(a)
# 结果分别为 a=[1, 2, 3, 3, 4];a=[2,3,1,4,3]
3-3、reverse()函数(倒着打印列表)
用法:列表名.reverse()
a=[2,3,1,4,3]
a.reverse()
print(a)
# 结果为 a=[3, 4, 1, 3, 2]
3-4、len()函数(确定列表长度)
用法:len(列表名)
a=[2,3,1,4,3]
print(len(a))
# 结果为 5
3-5、insert()函数(在列表中指定位置插入元素)
用法:列表名.insert(索引,值)
a=['七七','卡西','延君']
a.insert(1,'琦玉')
print(a)
# 结果为 a=['七七', '琦玉', '卡西', '延君']
3-6、pop()函数(删除列表中的元素,而且返回删除值)
用法:列表名.pop(索引)
a=[2,3,1,4,3]
b=a.pop(1)
print(b)
# 结果为 b=3
3-7、remove()函数(用元素进行检索删除,返回None值)
用法:列表名.remove(元素的值)
a=[2,3,1,4,3]
a.remove(4)
print(a)
# 结果为 a=[2, 3, 1, 3]
3-8、列表的简单统计计算:mim函数(),max函数(),sum函数()
用法:min(列表名),max(列表名),sum(列表名)
a=[2,3,1,4,3]
print(min(a))
print(max(a))
print(sum(a))
# 结果分别为 1;4;13
3-9、使用range()函数和list()函数创建数字列表
用法:list(range())
a = list(range(1,6))
print(a)
# 结果为 a = [1,2,3,4,5]
4、习题
4-1、列表切片 01
list1=['延君','周杰伦','陈奕迅','马化腾','林俊杰','欧阳娜娜']
list2=list1[1:5]
list3=list2[2:3]
print(list3)
这时候终端显示为
A、['马化腾']
B、['周杰伦','陈奕迅']
C、['陈奕迅','马化腾','林俊杰','欧阳娜娜']
D、报错
答案:A
解析:这里考察的是切片,看题目,打印list3是在list2基础上进行索引的,而list2是在list1基础上进行索引的,那么首先打印list2,根据切片规则,左取右不取,则需要取得是偏移量[1,2,3,4]的元素,则打印出来的结果是 ['周杰伦','陈奕迅','马化腾','林俊杰'],再根据list2再进行切片,list2[2:3]在修改后的list2的基础上则为偏移量[2],则打印为['马化腾']。
4-2、列表切片 02
name=['延君','卡西','加加','酱酱','吴枫','艾德']
teacher=name[1:6]
master=teacher[3:4]
print(master)
这时候终端显示为 (A)
A、['吴枫']
B、['加加','酱酱']
C、['艾德']
D、艾德
4-3、字典提取
d = {'我是谁':'我是人','我来自哪里':'来自地球','我将要去何处':'去向不知道','你是谁':'谁稀罕'}
for i in d:
要想打印出:
>>>我是人
>>>来自地球
>>>去向不知道
>>>谁稀罕
应该输入什么并打印出上述语句?
A、print(d[i])
B、print(d)
C、print(i)
答案:A
解析:
- print(d[i]) 打印的是字典里面的键值Value,所以是符合题意的
- print(d)打印的是整个字典,而字典里面有四个元素,所以会打印四次字典
4-4、字典与列表取值
题目:周末约上了你的女神,天气很热,现在你的女神很想要喝一杯奶绿,不要加冰,三分糖,还要记得加珍珠,你现在跑过去对面的一点点给你的女神买奶茶,你要怎样正确点单?
milky_tea={'醇茶':'四季春茶','奶茶':'奶绿','甜度':['3分糖','5分糖','全糖'],'冰':'去冰','加料':['红豆','椰果','珍珠']}
答案
print('我要一杯:'+milky_tea['奶茶']+milky_tea['甜度'][0]+milky_tea['冰']+'还要加'+milky_tea['加料'][2])
解析:字典取值要找的键,列表则是看偏移量,先找到想要去的值,输入对应的键,键名字要记得加'',列表的偏移量是在0开始算的
1、for ... in ... 循环语句
for 循环的格式如下:
下面用例子来讲解一下:
1-1、遍历列表
a=['七七','卡西','延君']
for i in a:
print(i)
注意:i 只是一个变量名,可以叫为 a,b,不一定为 i,i 只是存储遍历列表出来的变量而已。
1-2、遍历字典
1-2-1、遍历字典的键和值
d={1:'七七',2:'卡西',3:'延君'}
for a,b in d.items():
print('字典的键为:'+str(a)+'\字典的值为:'+str(b))
# 结果为:
字典的键为:1、字典的值为:七七
字典的键为:2、字典的值为:卡西
字典的键为:3、字典的值为:延君
注意:这里的 items() 是一个方法,我们用 for 遍历字典后,将字典的键、值分别用变量 a、b 存储。
1-2-2、遍历字典的键(方法一)
d={1:'七七',2:'卡西',3:'延君'}
for i in d:
print(i)
# 结果为 1,2,3
1-2-3、遍历字典的键(方法二)
d={1:'七七',2:'卡西',3:'延君'}
for i in d.keys():
print(i)
# 结果为 1,2,3
注意:这里的 keys() 是一个方法,我们用 for 遍历字典后,将字典的键用变量 i 存储。
1-2-4、遍历字典的值
d={1:'七七',2:'卡西',3:'延君'}
for i in d.values():
print(i)
# 结果为七七、卡西、延君
注意:这里的 values() 是一个方法,我们用 for 遍历字典后,将字典的值用变量 i 存储。
1-3、range() 函数
1-3-1、不带间隔数
作用:生成了一个【取头不取尾】的整数序列
我们用 for 和 range() 函数结合起来的例子看 range() 的效果:
for i in range(1,3):
print(i)
# 结果为 1、2
有点类似我们的列表(左取右不取),range() 函数里面的为“取头不取尾”。
1-3-2、带间隔数
for i in range(1,10,3):
print(i)
# 结果为 1、4、7
解析:这里的代码是从1数到9(取头不取尾),取值的间隔为3
2、while 循环语句
2-1、常见使用
a=1
while a<5:
print(a*5)
a=a+1
解析:我们这里定义了一个 a 并赋值 1,while 循环的判断语句是 a<5,当符合条件时,执行循环内的语句。
注意:
- 我们循环内需要让 a 的值改变,不然 a 一直等于 1,语句将会进入死循环;
- print(a*5) 只是打印了 a 乘以 5 的值,但实际上没有改变 a 的值。
2-2、while ... else ... 语句
a=input('七七怎样?')
while a == '七七真可爱':
print('输入正确~')
else:
print('输入错误~')
解析:如果我们输入的内容不等于 “七七真可爱” ,则打印 “输入错误~” ,否则打印 “输入正确~”。
2-3、避免进入无限循环
以下为危险操作,请勿模仿!!!
while True:
print('已经进入死循环')
- 解析:由于第 1 行的 while True 代码是一定会执行,也就是while 1,所以一直打印出‘已经进入死循环’这句话。
- 代码区使用 exit() ,在运行终端输入该代码,强行结束运行
- 代码区使用 break 语句(如下),当打印完‘已经进入死循环’这语句后,会直接跳出循环
while True:
print('已经进入死循环')
break