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])

 

posted @ 2020-11-08 16:04  rain小白菜  阅读(433)  评论(0)    收藏  举报