python基础:元祖类型(赋值补充)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础:元祖类型(赋值补充)相关的知识,希望对你有一定的参考价值。

前面学了列表和字典,今天我们看一个和列表相似的类型元祖。

预习:

简单购物车

  实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购物列表,如果输入为空或其他非法输入则要求用户重新输入  

msg_dic={
‘apple‘:10,
‘tesla‘:100000,
‘mac‘:3000,
‘lenovo‘:30000,
‘chicken‘:10,
}

 

一、元组(tuple)

为何要有元组?===>存多个值,对比列表来说,元组不可变,主要是用来读

定义:与列表类型相似,只不过[]换成(),元组是不可变类型所以可以当做字典的key

1 t=(1,[1,3],sss,(1,2)) #t=tuple((1,[1,3],‘sss‘,(1,2)))
2 print(type(t))

元组所以可以当做字典的key

1 #元组可以作为字典的key
2 d={(1,2,3):egon}
3  print(d,type(d),d[(1,2,3)])

常用方法:

 1 #为何要有元组,存放多个值,元组不可变,更多的是用来做查询
 2 t=(1,[1,3],sss,(1,2)) #t=tuple((1,[1,3],‘sss‘,(1,2)))
 3 print(type(t))
 4 
 5 #元组可以作为字典的key
 6 d={(1,2,3):egon}
 7 print(d,type(d),d[(1,2,3)])
 8 
 9 # 索引
10 goods=(iphone,lenovo,sanxing,suoyi)
11 print(goods.index(iphone))
12 print(goods.count(iphone)) #统计
13 
14 #切片
15 goods=(iphone,lenovo,sanxing,suoyi)
16 print(goods[1:3])
17 
18 # 长度
19 print(len(goods))
20 
21 #in:
22 goods=(iphone,lenovo,sanxing,suoyi)
23 print(iphone in goods)
24 
25 #补充:元组本身是不可变的,但是内部的元素可以是可变类型
26 t=(1,[a,b],sss,(1,2)) #t=tuple((1,[1,3],‘sss‘,(1,2)))
27 t[1][0]=A
28 print(t)
29 # t[1]=‘aaaaaaaaaaaa‘ #报错

补充:元组本身是不可变的,但是内部的元素可以是可变类型

1 t=(1,[a,b],sss,(1,2)) #t=tuple((1,[1,3],‘sss‘,(1,2)))
2 t[1][0]=A
3 print(t)
4 # t[1]=‘aaaaaaaaaaaa‘ #报错

 

 

二、赋值

 1 x=10
 2 
 3 #链式赋值
 4 a=b=c=d=e=f=10
 5 print(a,b,c,d,e,f)
 6 
 7 #增量赋值
 8 x+=1
 9 x-=1
10 ...
11 
12 #两个值得互换
13 x=10
14 y=a
15 #法一
16 temp=x
17 x=y
18 y=temp
19 print(x,y)
20 #法二
21 x,y=y,x
22 print(x,y)
23 
24 
25 #值的解压
26 msg=hello
27 l=[1,2,3]
28 
29 a,b,c,d,e=msg
30 print(a,b,c,d,e)
31 
32 a,_,_,_,e=msg
33 a,*_,e=msg
34 print(a)
35 print(e)
36 
37 dic={a:1,b:2,c:3}
38 x,y,z=dic
39 print(x,y,z)

 

 

预习解答:

 

 1 msg_dic = {apple:10,tesla:100000,mac:3000,lenovo:30000,chicken:10,}
 2 shop_card = []
 3 while True:
 4     for item in msg_dic:
 5         print({}:{}.format(item,msg_dic[item]))
 6 
 7     goods=input(商品名: ).strip()
 8     if len(goods) == 0 :
 9         print("没有输入商品名称!")
10         continue
11     if not goods in msg_dic :
12         print("本商城没有此商品!")
13         continue
14 
15     num = input(购买个数: ).strip()
16     if len(num) == 0 :
17         print("没有输入商品数量!")
18         continue
19     if not num.isdigit() :
20         print("商品数量格式输入有误!")
21         continue
22 
23     shop_card.append((goods,msg_dic[goods],num))
24     print(shop_card)

 


 

 

小知识点:

in可用范围:

字符串:子字符串

列表:元素

元组:元素

字典:key

 







以上是关于python基础:元祖类型(赋值补充)的主要内容,如果未能解决你的问题,请参考以下文章

python 5.7

Python基础数据类型

python基础数据类型--字典--相关代码

Python基础-python数据类型之元祖字典

python基础数据类型一(元祖)

python----基础之数据类型(元祖,字典,集合)