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

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

预习:

简单购物车

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

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

时间: 2024-11-08 18:23:43

python基础(7):元祖类型(赋值补充)的相关文章

16、python基础学习-元祖

1 #!/usr/bin/env python 2 #__author: hlc 3 #date: 2019/5/26 4 #元祖被称为只读列表,即数据可以被查询,不能被修改,切片的方式同样适用于元祖 5 #元祖写在小括号里面,使用逗号隔开,元祖中可以包含列表,不想被修改可以使用元祖 6 #元祖中一个值也需要在后面添加一个逗号,(3,) 7 8 # a = (1,2,3,4,5,6,7) 9 # b = a[0:3] #对元祖a进行切片 10 # print(b) #(1, 2, 3) 11 1

python基础--4 元祖

#元组,元素不可被修改,不能被增加或者删除 #tuple,有序 tu=(11,22,33,44,55,33) #count 获取指定元素在元祖中出现的次数 print(tu.count(33)) #index获取元素的下标值,可以设置起始和结束位置 print(tu.index(33,3,8)) tu=(1,2,3,3,(455,666,888,),({"11":22,"name":"han"})) v=list(tu)#通过类型转换修改原来tu

Python基础之一:文件类型及运算符

一.PYTHON文件类型 1.源代码 Python源代码的文件以"py"为扩展名,由Python解释,不需要编译: 2.字节代码 Python源文件经编译后生成的扩展名为"pyc"的文件: 编译方法:     importpy_compile     py_compile.compile("hello world.py") 3.优化代码 经过优化的源文件,扩展名为".pyo"  python –O –m py_compile 

python中的元祖与字典

元祖的介绍 python中的元祖与列表类似,不同之处在于元祖的元素不可修改.元祖使用小括号,列表使用方括号 <1>访问元祖                                    执行结果: <2>修改元祖                                         执行结果: 说明:python中不允许修改元祖的数据,包括不能删除其中的值 <3>元祖的内置函数count.index index和count与字符串和列表中的用法相同 例

python开发基础:元祖操作

一,元祖操作 1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 4 # 为何要有元组,存放多个值,元组不可变,更多的是用来做查询 5 # 1.元组() 6 # 元组跟列表一样,但是不能增删改,能查.元组又叫只读列表 7 # 2个方法 一个 count 一个 index 8 9 # t=(1,[1,3],'sss',(1,2)) #t=tuple((1,[1,3],'sss',(1,2))) 10 # print(type(t)) 11 12 # #元

元祖类型

1.元组(tuples)把多个值组合成一个复合值,元组内的值可以是任意类型,并不要求是相同类型 2.你可以把任意顺序的类型组合成一个元组,这个元组可以包含所有类型,你可以创建一个类型为(Int, Int, Int)或者(String, Bool)或者其他任何你想要的组合的元组 3. 元祖数据分解 注意 : 如果你只需要一部分元组值,分解的时候可以把要忽略的部分用下划线(_) 4.你可以在定义元组的时候给单个元素命名 给元组中的元素命名后,你可以通过名字来获取这些元素的值 5.作为函数返回值时,元

11.python中的元祖

按照我之前惯用的学习方法,首先还是先来 help(tuple) 看看其内置方法有哪些. Help on class tuple in module __builtin__: class tuple(object) | tuple() -> empty tuple | tuple(iterable) -> tuple initialized from iterable's items | | If the argument is a tuple, the return value is the

Python数据类型之元祖

一.基本数据类型 整数:int 字符串:str(注:\t等于一个tab键) 布尔值: bool 列表:list  列表用[] 元祖:tuple 元祖用() 字典:dict注:所有的数据类型都存在想对应的类列里,元祖和列表功能一样,列表可以修改,元祖不能修改. 二.列表所有数据类型: 基本操作: 索引 切片 长度 包含 循环 class tuple(object): """ tuple() -> empty tuple tuple(iterable) -> tupl

python 内置元祖子类

a = (zhangsan,20,nv,[email protected]) 输出姓名 a[0] 输出年龄 a[1] 输出性别 a[2] ..... 这样写可读性非常低 使用 内置元祖子类 from collections import namedtuple Item = namedtuple('class_name',name,age,sex,email) 创建一个子类 item = Item('zhangsan',20,'nv','[email protected]') 实例化子类 item