Python3——元组与购物车程序练习

Python3——元组与购物车程序练习

由pycharm中没有找到sys模块引发的深层讲解:

  • python解释器自带的、由C语言编写的,无法像OS那样找到由OS编写的OS.py的文件
  • 浅copy的定义
  • 浅copy的使用

浅copy定义:

  • 第二个列表要copy第一个列表,第二个列表中的内容,实际上是第一个列表中的元素的引用而已。

浅copy的使用:

假设有两个列表,列表1person=[“name”, [a, 100]],要做一个浅copy有三种方法,如下:

  • P1=copy.copy(person)

  • P2=person[:]

  • P3=list(person)

copy的现实使用案例:
夫妻共同账户,建立一个列表person=[“name”, [a, 100]],夫妻分别为P1,P2

  • P1= person[:]

  • P2= person[:]

  • P1[0] =’Alex’

  • p2[0] =’Beauty’

执行后,会发现,P1和P2的name分别改为了Alex和Beauty。

一、列表操作
列表:names = [‘Alex’,”Tenglan”,’Eric’]

注意,列表用的是方括号

通过下标访问列表中的元素,下标从0开始计数,还可以倒着取列表中的元素。列表中的最后一个元素的下标就为-1,倒数第二个元素下标为-2,以此类推。

  • 列表切片
    names[a:b] a为起始下标,b为终止下标。取元素值时,包含a,但是不包含b。a为空,表示从头取,b为空,表示取到最后一个值。
    names[a:b:c] c为步长,表示每两个元素中取一个元素。

  • 追加

names.append(“我是新来的”)

  • 插入

names.insert(2,”插入的数据”)

  • 修改

names[2] = “该换人了” 将下标为2的元素换为新的

  • 删除

del names[2] 删除下标为2的元素
names.remove(“Eric”) #删除指定元素
names.pop() #删除列表最后一个值

  • 扩展

names = [‘Alex’, ‘Tenglan’, ‘Rain’, ‘Tom’, ‘Amy’] #列表1
b = [1,2,3] #列表2
names.extend(b)
names = [‘Alex’, ‘Tenglan’, ‘Rain’, ‘Tom’, ‘Amy’, 1, 2, 3] #扩展后的列表

  • 拷贝

    names = [‘Alex’, ‘Tenglan’, ‘Rain’, ‘Tom’, ‘Amy’, 1, 2, 3]
    name_copy = names.copy()
    name_copy = [‘Alex’, ‘Tenglan’, ‘Rain’, ‘Tom’, ‘Amy’, 1, 2, 3]
    浅copy的具体用法见本章初。

  • 统计

names.count(“Amy”) #统计names列表中Amy的数量

  • 排序&反转

names.sort() #排序
names.reverse() #反转

  • 获取下标

names.index(“Amy”) #只返回找到的第一个下标

二、元组
元组和列表相似,都是存一组数,区别在于列表的数据可增减,而元组的数据不能更改,因此元组又叫只读列表

语法:只有两个,index和count

三、字典

字典中有两类元素,分别为key和value,且二者一一对应。

info={‘key1’:’value1’,
‘key2’:’value2’
‘key3’:’value3’}
字典是无序的,且key是唯一的,具有天然去重性。

语法

  • 增加

info[key4]=’value4’ 即可增加一组key和value。

  • 修改

info[key1]=’value11’即可将原key1对应的value改为value11

  • 删除

    info.pop(‘key1’)#删除指定的key1
    del.info[‘key1’]#删除指定的key1
    info.popitem() #随机删除

  • 查找

‘key1’in info #查询key1 是否在info中
info.get(‘key2’) #查找key2对应的value值
info[‘key2’] #获取key2的value值。
后两种方法的区别:当没有对应key的value值时,get方法会返回none,不会报错,另一种则会报错。

  • 多级字典嵌套及操作

map ={
“华东”:{
“上海”:[“黄浦区”,”卢湾区”,”徐汇区”,”长宁区”,”普陀区”],

“安徽”:[“合肥市”,”芜湖市”,”淮南市”,”马鞍山市”],

“江苏”:[“南京市”,”无锡市”,”徐州市”,”常州市”,”苏州市”]

},
“华北”:{
“北京”:[“东城区”,”西城区”,”朝阳区”,”丰台区”,”石景山区”,”海淀区”],

“山西”:[“太原市”,”大同市”,”阳泉市”,”长治市”],

“河北”:[“石家庄市”,”唐山市”,”秦皇岛市”,”邢台市”]

} }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值