python从0到1---4.元组
元组(tuple)是python中另一个重要的序列结构,与列表类似,也是由一系列特定顺序排列的元素组成,但是它是不可变序列。也就是说元组也可以叫不可变列表。
1.元组的创建和删除
1.1使用赋值运算符直接创建元组
以下定义的元组都是合法的
num = (7,9,99,100,22,34) team = ("马刺","火箭","湖人","勇士") untitle = ('python',28,('人生苦短','道可道非常'),['爬虫','自动化']) language = ('python','c#','java')
其实元组有没有()都可以的。只是print格式不同。
1.2创建空元组
emptytuple = ()
空元组可以应用在函数传递一个空值或者返回空值时
1.3创建数值元组
在python中,可以使用tuple()函数直接将range()函数循环出来的结果转换为数值元组;其语法如下:
tuple(data)
其中data表示可以转换为元组的数据,其类型可以是range对象,字符串,元组或者其他可迭代类型的数据
例如:创建一个10~20之间(不包括20)所有偶数的元组:
a = tuple(range(10,20,2)) print(a)
1.4删除元组
对于已经创建的元组,不再使用时,可以使用del语句将其删除,语法格式如下:
del tuplename
其中tuplename为要删除元组的名称
例如:
team = ("西班牙","德国","阿根廷","葡萄牙") del team
2.访问元组元素
2.1通过print函数
例如:
team = ("西班牙","德国","阿根廷","葡萄牙") print(team)
运行结果:
('西班牙', '德国', '阿根廷', '葡萄牙')
2.2通过索引方式
例如:
team = ("西班牙","德国","阿根廷","葡萄牙") print(team[1])
运行结果:
德国
2.3通过切片方式
例如:
team = ("西班牙","德国","阿根廷","葡萄牙") print(team[:3])
运行结果:
('西班牙', '德国', '阿根廷')
3.修改元组元素
元组是不可变序列,所以不能对他的单个元素值进行修改。但是可以对元组进行重新赋值。
例如:
team = ("西班牙","德国","阿根廷","葡萄牙") team = ("西班牙","中国","美国","葡萄牙") print(team)
运行结果;
('西班牙', '中国', '美国', '葡萄牙')
另外还可以对元组进行连接组合。但要注意,连接内容必须都是元组,不能将元组和字符串或者列表进行连接
例如:
team = ("西班牙","德国","阿根廷","葡萄牙") print("原元组",team) team1 = team + ("日本","韩国") print("组合后",team1)
运行结果:
原元组 ('西班牙', '德国', '阿根廷', '葡萄牙') 组合后 ('西班牙', '德国', '阿根廷', '葡萄牙', '日本', '韩国')
注意:如果要连接但元组只有一个元素时,一定不要忘记后面的逗号。
4.元组推导式
基本跟列表相同,不做过多赘述。
例如:
import random randomnumber = (random.randint(10,100) for i in range(10)) print(randomnumber)
这段代码运行结果是啥?
其实执行上面的代码结果中,可以看出使用元组推导式生成的结果并不是一个元组或者列表。而是生成器对象,这一点和列表推导式是不同。如要将生成器对象转换成元组或者列表.
import random randomnumber = (random.randint(10,100) for i in range(10)) randomnumber = tuple(randomnumber) print(randomnumber)
练习:编写一个程序,首先模拟商家入库商品,分五次输入商品序号和名称;然后询问用户购买什么商品,用户输入商品编号,接下来吧对应的商品添加到购物车里。最后用户输入q退出。输出购物车里商品列表。
提示:1.需要输入的商品: 0001 苹果 0002 小米 0003 三星 0004 OPPO 0005vivo
list = [] for i in range(5): a = input("请输入商品编号和商品名称进行商品入库,每次只能输入一件商品:\n") list.append(a) num1 = input("请输入要购买的商品编号:\n") for j in range(5): goods = str(list[j]) num2 = goods.find(num1) if num2 != -1: input("请退出:\n") print("您购物车里已经选择的商品为:\n",list[j])

浙公网安备 33010602011771号