打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
第 4 关、列表和字典

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)打印的是整个字典,而字典里面有四个元素,所以会打印四次字典
  • print(i)打印的是字典里面的键key

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() ,在运行终端输入该代码,强行结束运行
  • 终端区按 ctrl+c,强行结束运行
  • 代码区使用 break 语句(如下),当打印完‘已经进入死循环’这语句后,会直接跳出循环
  • 正确操作:
while True:
print('已经进入死循环')
break
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
第 5 关、消灭该死的重复(上)
[一定要掌握的基础语法]测试题答案及解析
Python编程:从入门到实践(选记)
十分钟快速入门 Python
秒杀市面 90% 的 Python 入门教程 (上)
山脚问题集锦
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服