python建立字典购物_新的一天!昨日内容回顾+购物车系统的初步实现+字典的概念和基本操作...

昨日内容回顾:

列表:增删改查

查找:切片问题

删除;   pop根据索引删除,删除的内容的值会返回

count 计数

extend 两个列表叠加,一次性追加多个值,a会变,b不会变

用c=a+b           a和b都不会发生变化

index  由内容找位置

a.sort()

b=sorted(a)              实现对a的从左到右的排序

今日内容:

元组:

(12,)只有一个元素也要加   ","

a=(1,2,3,4)

print(a[1])

元组只读不能修改  其他的和列表一样

购物车系统的设计思路:

先介绍列表的嵌套:

1 #_auther_="stuwu79"

2 #date:2019/9/25

3

4 #shopping_list=["Mac","Book","bike","kindle"]

5 a = [[1,2,3],"alex",4,(2,3,4)]6 print(a[0][1])7 #b=a[0] b=[1,2,3] b[1] 第6行与第7行意义相同

介绍商品列表的构建:

1 product_list =[2 ("Mac",9000),3 ("kindle",800),4 ("tesla",90000),5 ("python book",105),6 ("bike",3000)7 ]8

9 money = input("please input your saving :")10 ifmoney.isdigit():11 saving =int(money)12 for i inproduct_list : #或者替换为 for i in enumerate(product_list)

print(i)13 print(product_list.index(i),i)

for i,v in enumerate(product_list,1):

#加1默认从1开始,不然从0开始

print(i,"_______________",v)

结果:

1—————————(“Mac”,9000)

。。。。。。。。。。。。

添加一个变量V使得商品列表分成两部分

列表的赋值操作:

1 a,b=[2,3]2 print(a)3 print(b)4

5

6 结果: 2

7 3

基本功能都实现:

1 #_auther_="stuwu79"

2 #date:2019/9/25

3

4 #shopping_list=["Mac","Book","bike","kindle"]

5 #a = [[1,2,3],"alex",4,(2,3,4)]

6 #print(a[0][1])

7 #b=a[0] b=[1,2,3] b[1]

8 product_list =[9 ("Mac",9000),10 ("kindle",800),11 ("tesla",90000),12 ("python book",105),13 ("bike",3000)14 ]15 shopping_car=[]16 money = input("please input your saving :")17 ifmoney.isdigit():18 saving =int(money)19 whileTrue:20 for i,v in enumerate(product_list,1):#加1默认从1开始,不然从0开始

21 print(i,"____",v)22

23 choice = input("选择购买商品的编号[退出:q]")24

25 ifchoice.isdigit():26 choice =int(choice)27 if choice > 0 and choice <=len(product_list):28

29 p_item =product_list[choice-1]30

31 if p_item[1]

35 else:36 print("余额不足,还剩%s"%saving)37

38 else:39 print("编码不存在")40

41 elif choice == "q":42

43 print("您已经购买如下商品:")44

45 for i inshopping_car:46 print(i)47

48 print("您还剩%s元钱"%saving)49

50 break

51 else:52

53 print("wrong input")

查看内存地址:

id(a)

字典的概念

字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据,python对key进行哈希函数运算,根据结果觉得value的存储地址,字典是无序存储,且key必须可哈希(必须是不可变类型)

键唯一

字典的创建:

dic={"name":"alex",,,,,,,,}

dic2=dict((("name","alex")))

整型和字符串类型是不可变类型

dic={"name":"alex","age":35,"hobby":"{"girl——name":"铁锤"}","is_handsome":True}

print(dic)          #取出alex          dic["name"]            name就是键        不能用列表做键

print(dic["name"])

对字典的操作:

赋值:

dic1={'name':'alex'}

dic['age'] = 18            #(键,有则修改,无则创建)

print(dic1)

结果:{'age':18,'name':'alex'}

dic1.setdefault('age',34)

#setdefault方法尝试加入,如果 键无则创建并且加入此值且返回此值,如果 键存在则返回此键对应的原有值

查询:

查看字典中所有的键:

print(dic3.keys())          此时取出的是keys类型可转换为list类型

list(dic3.keys())

同理:

print(dic.values())                    取值

print(dic.items())                      取出所有键值对

修改:

dic3 = {'age':18,'name':'alex','hobby':'girl'}

dic3['age']=55

print(dic3)

结果:{'age':55,'name':'alex','hobby':'girl'}

dic3.update(dic4)                #将dic4加入dic3中,类似于列表的extend

#如果无相同键就全加入,如果有相同键就更新

删除:

del dic['name']               #删除指定键值对

del dic                             #删除整个字典

dic.clear()                        #删除字典的所有内容

dic.pop('age')             #按键删键值对,且返回值

dic.popitem()                   #随机删除某个键值对且返回值

其他操作:

dic6 = dict.fromkeys(['host1','host2','host3'],'test')           #初始化,使得所有host键对应的值都是test

字典的嵌套

dic={

{}

{}

{}

}

排序:

print(sorted(dic.values()))                #对字典里的值进行排序

print(sorted(dic))                #对字典里的键按ascll码进行排序

print(sorted(dic.items()))                #对字典的键进行

字典的遍历:

for i in dic:

pring(i)               #打印出来键

for i in dic :

print(i,dic5[i])    #通过键找值然后打印出来                                    优先此方法

for i in dic.items() :

print(i)               #打印键值对

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值