Python学习总结笔记(初学篇--1)

 声明:因学习需要,以下内容均为个人学习总结的观点,方便日后翻阅回顾内容~

 学习地址:花了2万多买的Python教程全套,现在分享给大家,入门到精通(Python全栈开发教程)_哔哩哔哩_bilibili

目录

1、序列

索引

切片

相关操作

2、列表

创建和删除

遍历

相关操作

列表生成式

3、元组

创建和删除

访问遍历

生成式

4、字典

创建和删除

访问遍历

相关操作

生成式

5、集合

创建和删除

访问遍历

相关操作

操作符

6、区别

实战环节

实战一

​编辑

实战二

​编辑

实战三

实战四


1、序列

tip:由序列可以引出四种数据类型,其中包括有序序列的:列表、元组,无序序列的:字典、集合,列表和字典、集合属于可变数据类型,元组属于不可变数据类型

索引

索引:序列中每一个值都对应一个整数编号

正向递增代码如下:

s='HelloWorld'
for i in range(0,len(s)):
    print(i,s[i],end='\t\t')

运行结果如下:

反向递减代码如下:

s='HelloWorld'
for i in range(-10,0):
    print(i,s[i],end='\t\t')

运行结果如下:

综上,与上图所述相符~

切片

转载:

【Python】序列 - 数据容器 ( 序列简介 | 序列切片 | 省略 起始坐标 / 结束坐标 / 步长 切片 | 列表切片 | 字符串切片 | 元组切片 | 步长 -1 的切片 )_python切片器步长-1-CSDN博客

tip:

1、省略起始下标索引,默认从头开始(从0开始)

2、省略结束下标索引,默认到尾部结束

3、省略步长下标索引,默认从1开始哦

相关操作

2、列表

创建和删除

遍历

1.for循环遍历

输出结果如下:

2.for循环根据索引遍历

输出结果如下:

3.enumerate(枚举)函数

注意事项:index是指的序号,不是索引,其默认从0开始,可以手动修改起始序号!

如何修改起始序号呢????

输出结果如下:

那我们就可以了解到,enumerate函数,设置start参数的值为1,即手动修改起始序号为1.

或者start省略不写,直接写1,也是可以,序号也可以修改成功呢

相关操作

输出结果如下:

注意事项:

1.排序是在原列表的基础上进行的,不会产生新的列表对象

2.首字母大写的字符串的ASCII码小,所以遇到首字母大小写的字符串时,升序操作时,先排大写,再排小写

3.如果想忽略大小写,即加上排序规则 key=str.lower  <----- (此处没有括号)参数不加括号,调用才加括号

列表生成式

 注意事项:

如果生成式中不需要变量,即可以用下划线替代 

随机生成1-100之间的数,然后存放到列表中,

3、元组

创建和删除

访问遍历

元组的遍历访问和列表一样

生成式

元组的生成式结果是一个生成器对象,需要转化为元组或者列表才能看到内容

输出结果如下:

很显然生成的是一个生成器对象


此处需要将生成器对象转化为元组或者列表形式

输出结果如下:


对于生成器对象有特殊的遍历方式

元组和列表的区别

4、字典

创建和删除

注意事项:

1.在创建过程中,如果key值相同,则value值进行覆盖,即后面的value值将前面的value值覆盖

2.使用zip映射函数时,lst1中的元素作为键,lst2中的元素作为值,但是其生成对象是一个zip对象,需要转换

输出结果如下:

显示内容需要进行转化

1.如果转化为列表类型,需要用到list函数,列表中的每一个元素,都是元组形式()

2.如果转化为字典类型,则需要用到dict函数

3.元组可以作为字典中的键,列表不可以作为字典中的键!

访问遍历

d[key]与d.get(key)区别:

如果访问的key不存在,d[key]会报错,而d.get(key)会指定默认值    

d.get(key)如何指定默认值:

d.get(10,'不存在')

第一种遍历方式

遍历结果

第二种遍历方式

遍历结果

相关操作

向字典中添加元素(直接使用赋值运算符向字典中添加元素)

d[1004]='李梅'

生成式

5、集合

创建和删除

利用s={}创建的是一个空字典,如果想创建一个空集合 需要利用s=set()
{}直接创建时,花括号内不可以是列表类型,而set()创建集合时,可以是列表类型。因为set()括号内只需要是可迭代对象就可以

访问遍历

相关操作

操作符

并集 交集

差集(属于集合A而不属于集合B中的元素所构成的集合)

补集(A集合和B集合不相交的部分,即A集合有而B集合没有,B集合有而A集合没有的部分)

Python数据结构——集合_python 集合-CSDN博客

6、区别

实战环节

实战一

”千年虫“是什么虫?

列表中00,输出结果只输出一个0 所以需要加上200

代码如下:

lst=[88,89,90,98,00,99]
print('原列表',lst)
for i in range(len(lst)):
    if str(lst[i])!='0':
        lst[i]='19'+str(lst[i])
    else:
        lst[i]='200'+str(lst[i])
print(lst)

实战二

模拟京东购物流程

lst=[]#空列表用来存储商品编号和商品名称
for i in range(5):
    goods=input('请输入商品的编号和商品名称进行商品入库,每次只能输入一件商品:')
    lst.append(goods)#添加到列表中
for j in range(len(lst)):#遍历列表,展示商品
    print(lst[j])
cart=[]#空列表用来作为购物车
while True:
    flag = False#代表原购物车没有商品的情况或不存在商品
    num=input('请输入要购买的商品编号:')
    for item in lst:
        if num==item[0:4]:#切片操作,切出商品序号
            flag=True#代表商品找到
            if item not in cart:#去重 防止重复添加
                cart.append(item)#添加到购物车中
                print('商品已成功添加到购物车')
                break#退出for循环
            else:
                print('您已经添加到了购物车了呢')
    if flag==False and num!='q':
        print('商品不存在')
    if num=='q':
        break
print('-'*50)
print('您购物车已选择的商品为:')
cart.reverse()
for item in cart:
    print(item)

运行结果如下:

实战三

模拟12306火车票订票流程

法一利用二维列表

lst=[
    ['车次','出发站-到达站','出发时间','到达时间隔','历时时长'],
    ['G1569','北京南-天津南','18:06','18:39','00:33'],
    ['G1567','北京南-天津南','18:15','18:49','00:34'],
    ['G8917','北京南-天津西','18:20','19:19','00:59'],
    ['G203','北京南-天津南','18:35','19:09','00:34']
]
for row in lst:#lst列表中有5个小列表,一个列表是一个元素,所以row取这5个元素,相当于取出这5个小列表
    for item in row:#for循环遍历小列表
        print(item,end='\t')
    print()
car=input('请输入要购买的车次:')
people=input('请输入乘车人,如果是多位乘车人使用逗号分隔:')
for row in lst:#lst列表中有5个小列表,一个列表是一个元素,所以row取这5个元素,相当于取出这5个小列表
    for item in row:#for循环遍历小列表
        if car==item[:]:
            print('您已购买'+car+' 请 '+people+' 尽快换取纸质车票【铁路客服】 ')

法二利用字典类型

dict_ticket={
    'G1569':['北京南-天津南','18:06','18:39','00:33'],
    'G1567':['北京南-天津南','18:15','18:49','00:34'],
    'G8917':['北京南-天津西','18:20','19:19','00:59'],
    'G203':['北京南-天津南','18:35','19:09','00:34']
}
print('车次      出发站-到达站    出发时间     到达时间隔     历时时长')
for key in dict_ticket.keys():#获取所有的key键值
    print(key,end='\t')
    for item in dict_ticket.get(key):#根据key获取出来的是一个列表,接下来相当于遍历一个列表
        print(item,end='\t\t')
    print()
car=input('请输入要购买的车次:')
info=dict_ticket.get(car,'车次不存在')
if info!='车次不存在':
    peson=input('请输入乘车人,如果是多位乘车人使用逗号分隔:')
    s=info[0]+' '+info[1]+'开'
    print('您已购买'+car+' '+s+',请 '+peson+' 尽快换取纸质车票【铁路客服】 ')
else:#当info==车次不存在时输出这个
    print('抱歉,您的车次可能不存在')

运行结果如下:

实战四

模拟手机通讯录

s=set()
for i in range(1,6):
    name=input('请输入第'+str(i)+'位好友的姓名与手机号码:')
    s.add(name)
for item in s:
    print(item)

运行结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值