python清空列表_干货|Python基础入门 课程笔记(三)

54335b8d6c467e105de9961543eb19ca.png

【磐创AI导读】:本篇为Python进阶干货系列第三篇,主要为大家详细介绍了Python中的列表、元组、字典和三元表达式。更多详情:AI算法工程师学习路线总结之Python篇 | 粉丝福利,欢迎大家点击了解更多信息。第一篇:干货 | Python进阶之学习笔记(一)

目录

  • 列表
  • 元组
  • 字典
  • 三元表达式

一、列表

前面学习的字符串可以用来存储一串信息,那么想一想,如果现在有很多人,总不能每个人都起一个变量名把?那岂不得疯~

50467fb684cdf7c574c5f1e26d0ac600.png
咱们可以使用列表。

(1)列表得格式和输出

name = ['杜子腾','史珍香','付书宝','刘币替']

输出列表:

print(name)

print(name[0])

print(name[1])

print(name[2])

运行结果:

2a59ea1ba86241abb2cc45afb562c1a2.png

(2)列表得循环遍历

使用 for 循环

当列表中存储得数据比较多得时候,为了更有效率的输出列表的每个数据,可以使用循环来完成,
name = ['杜子腾','史珍香','付书宝']

for i in name:

print(i)

运行结果:

9220aef614e0e7650bc14765d41a3db1.png

使用 while 循环

当然也可以使用 while 循环,但是要设置好 while 循环的条件哟,小心不要进入死循环
name = ['杜子腾','史珍香','付书宝']

length = len(name)

i = 0

while i<length:

print(name[i])

i+=1

运行结果:

9220aef614e0e7650bc14765d41a3db1.png

(3)列表得常见操作

列表中存放的数据是可以进行修改的,比如"增"、"删"、"改"、"查",后续咱们还会讲可变对象和不可变对象。列表就是可变对象,请看后面得课程哟

增(append, extend, insert)

append

通过 append 可以向列表中添加数据
namelist = ['杜子腾','史珍香','付书宝']

namelist.append('李铁柱')

print(namelist)

运行结果:

format,png

extend

通过 extend 可以将另一个集合中的元素逐一添加到列表中
namelist = ['杜子腾','史珍香','付书宝']

name_list = ['李铁柱','李树']

namelist.extend(name_list)

print(namelist)

运行结果:

c3310c9c992f929224782a14a0f926fe.png

insert

insert(index, object) 在指定位置 index 前插入元素 object
namelist = ['杜子腾','史珍香','付书宝']

namelist.insert(1,'付舒宝')

print(namelist)

运行结果:

6bab6719a40b6dff4891aac448a1ee64.png

删(del, pop, remove)

del

根据下标进行删除
movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']

del movieName[0]

print(movieName)

运行结果:

4963d255c9a70e8157616d0d67fc40eb.png

pop

删除最后一个元素
movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']

movieName.pop()

print(movieName)

运行结果:

99b7f34a75746b07874443ab8021dc1a.png

remove

根据元素的值进行删除
movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']

movieName.remove('骇客帝国')

print(movieName)

运行结果:

9af453fec5b1a420512adc7d0994e03a.png

改(通过下标)

修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改
movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']

movieName[0] = '三傻大闹宝莱坞'

print(movieName)

运行结果:

fa5f4ed5ee8a2a29c2de82fe343f3d87.png

查(in, not in)

in

如果存在那么结果为true,否则为false
#待查找的列表

nameList = ['xiaoWang','xiaoZhang','xiaoHua']

#获取用户要查找的名字

findName = input('请输入要查找的姓名:')

#查找是否存在

if findName in nameList:

print('在字典中找到了相同的名字')

else:

print('没有找到')

运行结果:

99bca74299dd61c46dab99518720a75f.png

not in

如果不存在那么结果为 true,否则false
#待查找的列表

nameList = ['xiaoWang','xiaoZhang','xiaoHua']

#获取用户要查找的名字

findName = input('请输入要查找的姓名:')

#查找是否存在

if findName not in nameList:

print('没有找到')

elif findName in nameList:

print('找到了')

运行结果:

c3f5fcbef26ef80de6c81fb551e70fce.png
not in : 翻译成大白话就是,如果 ....什么什么.... 不在 啥玩意 里面,那么就执行缩进段内的代码。
哈哈,这样一翻译,是不是很通俗易懂了。

二、元组

Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。
numTuple = (1,2,3,4)

print(numTuple) # 结果为:(1,2,3,4)

(1)访问元组

访问元组中的数据,也可以通过下标来访问元组
numTuple = (1,2,3,4)

print(numTuple[0]) # 结果为: 1

(2)修改元组

numTuple = (1,2,3,4)

numTuple[0] = 5
抛出异常:

---------------------------------------------------------------------------

TypeError Traceback (most recent call last)

<ipython-input-54-7978431cbe37> in <module>

1 numTuple = (1,2,3,4)

----> 2 numTuple[0] = 5

TypeError: 'tuple' object does not support item assignment

元组中的不可变对象是不能被修改的哟.如果里面是列表等可变数据类型的话,可以进行修改.

三、字典

在这里咱们仔细想一下哟~,假设有个列表里面存储的是学生的名字。当学生的名字错误,需要修改的时候,可以通过 列表名[索引] 的方式来进行修改,但是如果列表的顺序发生了变化,此时呢就需要修改下标,才能完成名字的修改。
提出疑问:有没有什么方法,既能存储多个数据,还能在访问元素得时候很方便就能够定位到元素呢?
答案:当然是通过接下来要讲得 字典 啦~向下看咯
生活中的字典:

27476d7963dd2fbd002c1b6e2c1acdde.png
软件开发中的字典:
info = {'name':'AKing', 'age':25, 'gender':'man', 'address':'北京'}

说明字典和列表一样,也能够存储多个数据。
列表中找某个元素时,是根据下标进行的。
字典中找某个元素时,是根据 '名字'(就是冒号:前面的那个值,例如上面代码中的'name'、'age'、'gender')
字典的每个元素由2部分组成,键:值。例如 'name':'AKing' ,'name'为键,'AKing'为值

(1)根据键访问值

info = {'name':'AKing', 'age':25, 'gender':'man', 'address':'北京'}

print(info['name'])

print(info['age'])

运行结果:

067cd7556dad982a666f5fc5a667b7cf.png
若访问的 键名 不存在则抛出异常。
info = {'name':'AKing', 'age':25, 'gender':'man', 'address':'北京'}

print(info['height']) # 访问 info 字典中键名为"height"的值,但是...值呢?他没有值阿。

抛出异常:

--------------------------------------------

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

KeyError: 'height'

(2)修改元素

字典的每个元素中的数据是可以修改的,只要通过 key 找到,即可修改
info = {'name':'AKing', 'age':25, 'gender':'man', 'address':'北京'}

new_address = '上海'

info['address'] = new_address 

print('修改之后的 address 为: %s' % info['address'])

运行结果:

6c1537dde46306120f90b1d95432aad6.png

(3)添加元素

如果在使用 字典名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素。
info = {'name':'AKing', 'age':25, 'gender':'man', 'address':'北京'}

# print('id为:%d'%info['id']) # 程序会中断运行,因为访问了不存在的键

id = 6948

info['id'] = id

print('添加之后的id为:%d' % info['id'])

运行结果:

2dfeb5c0ca122907b82627bdb8ce123b.png

(4)删除元素

对字典进行删除操作,有一下几种:
del
clear()

del 删除指定得元素

info = {'name':'AKing', 'age':25, 'gender':'man', 'address':'北京'}

print('删除前,%s' % info['name'])

del info['name'] # 删除之后,值也跟着删除

print('删除后,%s' % info['name'])

运行结果:

0303e42c280964929054e63d134b5072.png

del 删除整个字典

info = {'name':'AKing', 'age':25, 'gender':'man', 'address':'北京'}

del info # del 字典名,这样的话字典的数据就全被删除了

print(info)

运行结果:

08d449d7985cd3a330548c28721d6720.png

clear 清空整个字典

info = {'name':'AKing', 'age':25, 'gender':'man', 'address':'北京'}

print('清空前,%s' % info)

info.clear() # 字典名.clear() 清空字典中所有键值对数据

print('清空后,%s' % info)

运行结果:

b4effaae981c6f622bf96b046444c0e5.png

(5)字典的常用方法

len()

len : 代表长度 length 的意思
测量字典中,键值对的个数
info = {'name':'AKing', 'age':25, 'gender':'man', 'address':'北京'}

len(info) # 结果为 4

keys()

keys :翻译为 键。
返回一个包含字典所有 key 的列表
info = {'name':'AKing', 'age':25, 'gender':'man', 'address':'北京'}

info.keys() # 结果返回列表,存储的都是键名

values()

values :意思为复数的 value ,表示为多个值
返回一个包含字典所有 value 的列表
info = {'name':'AKing', 'age':25, 'gender':'man', 'address':'北京'}

info.values() # 结果返回列表,存储的都是 values 值

items()

items :表示为所有物品,是 item 的复数形式
返回一个包含所有(键,值)元祖的列表
info = {'name':'AKing', 'age':25, 'gender':'man', 'address':'北京'}

info.items()

运行结果:

87537d9f32adb0a2bf9455d213f8816f.png

(6)字典的遍历

通过 for ... in ... 我们可以遍历字符串、列表、元组、字典等

遍历字典的 key 键

可以通过 for i in 字典名.keys(): 获取 键名
info = {'name':'AKing', 'age':25, 'gender':'man', 'address':'北京'}

for i in info.keys():

print(i)

运行结果:

1682131bba315d739e6f065940edced1.png

遍历字典的 values 值

可以通过 for i in 字典名.values(): 获取 值
info = {'name':'AKing', 'age':25, 'gender':'man', 'address':'北京'}

for i in info.values():

print(i)

运行结果:

5827b2eef5b34afd7f0f8473967784aa.png

遍历字典的 items 键值对

可以通过 for item in 字典名.items(): 获取 键名和值
info = {'name':'AKing', 'age':25, 'gender':'man', 'address':'北京'}

for item in info.items():

print(item)

运行结果:

bc7731c13156491e73b9316705b103e0.png

四、三元表达式

为真时的结果 if 判断条件 else 为假时的结果(注意,没有冒号)
# 举个栗子

a = 1

b = 2

h = ""

h = a-b if a>b else a+b

print(h)

实际操作:

98a66fc5db6772af9f5b4dcb5bd595a8.png

执行过程:

a173f823208a75e98fcb1152cec665d7.png

【写在最后】本文是针对七月在线《Python基础入门第三期》的课程笔记第三篇,大家想了解关于本课程的更多内容,欢迎访问:AI算法工程师学习路线总结之Python篇 | 粉丝福利,学习和咨询。

你也许还想看:

● 一文彻底搞懂BP算法:原理推导+数据演示+项目实战(上篇)

● TensorFlow + Keras 实战 YOLO v3 目标检测图文并茂教程(文末有惊喜)

● 入门 | Tensorflow实战讲解神经网络搭建详细过程

欢迎扫码关注:

20de57fad67274e189f26b2fd2d247ce.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值