python基础知识7——元组

元组的基本操作与列表相类似,但是值得注意的是元组是不可变类型,其中的元素不能修改。而列表是可变类型,可以进行增删查改。
1.元组的基本操作:

tuple_value = (1, 'hello', [1,2,3,4,5], (1,2,3,4,5))
empty_tuple = tuple()
#如果元组中只有一个元素,必须加一个逗号才可以表示元组
print(tuple_value[1][1])
print(tuple_value[1:3])

for i in tuple_value:
    print(i)

在这里插入图片描述
2.元组的拆包:

info = ('Andy', 'Man', 18)
name, gender, age = ('Andy', 'Man', 18)
print(name)
print(gender)
print(age)

#使用占位符
_, _, age = ('Andy', 'Man', 18)
print(age)

#元素较多
a, b, *rest, c, d = range(10)
print(a)
print(b)
print(c)
print(d)
print(rest)#生成一个列表

#快速交换
num1 = 10
num2 = 5
num1, num2 = num2, num1
print(num1)
print(num2)

#列表比元组大,因为列表的存储空间是动态的,需要存储指针来指向对应的元素
#因为列表长度可变,所以需要额外存储已经分配的空间长度大小,且元组的效率远远高于列表的效率

在这里插入图片描述
3.列表与元组课后练习:
在这里插入图片描述

#1.
s = input('请输入逗号分隔的字符:')
list_val = s.split(',')
print(list_val)
tuple_val = tuple(list_val)
print(tuple_val)

在这里插入图片描述

#方法1:自定义函数
l = [(2,5),(1,2),(4,4),(2,3),(2,1)]
# 获取列表的第二个元素
def takeSecond(elem):
    return elem[1]
l.sort(key=takeSecond)
print(l)

#方法2:lambda表达式形式
l = [(2,5),(1,2),(4,4),(2,3),(2,1)]
l.sort(key=lambda x:x[1])

在这里插入图片描述

#6.
l = ['andy', '男', '18', '大熊', '男', 'andy', 20, 30, 18, 30]
for i in l:
    if l.count(i) > 1:
        l.remove(i)
print(l)

更好的写法:

list = ['andy','男',18,'大熊','男','andy',20,30,18,30]
uniqueList = []
for x in list:
    if x not in uniqueList:
        uniqueList.append(x)
print("去重后的列表为",uniqueList)

在这里插入图片描述

#7.
list1 = ['积善成德而神明自得圣心备焉', 'hello', 'world']
list2 = ['hello', 'world', 40, 50, '大熊课堂']
for i in list2:
    if i in list1:
        print('True')
        break
else:
    print('False')

在这里插入图片描述

#8.
list_val = ['p','y', 't', 'h', 'o', 'n', 1, 1, 1]
#print(''.join(list_val))#错在不是所有元素都是字符
print(''.join(str(i) for i in list_val))

在这里插入图片描述

#10.
import random
list = ['i', 'love', 'python']
random.shuffle(list)
print(list)
print(random.choice(list))

在这里插入图片描述

#12.
basketball = ['banana', 'apple', 'egg', 'bread', 'pepple', 'pear', 'milk']
fruit = ['banana', 'apple', 'pepple', 'pear']
print(basketball)
for i in basketball:
    if i not in fruit:
        basketball.remove(i)
print(basketball)
basketball.append('strawberry')
basketball.append('pineapple')
print(basketball)
random_basketball = random.sample(basketball, 2)
for i in random_basketball:
    print(i)

猜你喜欢

转载自blog.csdn.net/weixin_45486992/article/details/113433420