列表、集合的相关练习
作者:互联网
1、有列表data = ['egon', 73, [1900, 3, 18]]
,分别取出列表中的名字,年龄,出生的年,月,日赋值给不同的变量
data = ['egon',73,[1900,3,18]]
name = data[0]
age = data[1]
birth = data[2]
year_of_birth = birth[0]
month_of_birth = birth[1]
day_of_birth = birth[2]
2、用列表模拟队列
queue = [] #定义一个空列表,当做队列
queue.insert(0,1) #向列表第一位中插入1
queue.insert(0,2) #向列表第一位中插入2,原先的1变为第二位
queue.insert(0,"hello") #向列表第一位中插入字符串"hello",原先的顺序都往后移动
print(queue)
print('取第一个元素',queue.pop())
print('取第二位元素',queue.pop())
print('取第三位元素',queue.pop())
注意这个总是往前面插入字符,最后一位是进的第一位数,是出的第一位数。
3、用列表模拟堆栈
栈是一种“先进后出”的数据结构,可以用python内置的列表实现它。
栈有两个最基本的操作:
入栈:
stack = [3,4,5]
stack.append(6) #数字6进栈
stack.append(7) #数字7进栈
出栈
stack.pop() #数字7出栈
stack.pop() #数字6出栈
4、有如下值集合[11, 22, 33, 44, 55, 66, 77, 88, 99, 90...]
,将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中
即:{'k1': 大于66的所有值, 'k2': 小于66的所有值}
l1 = [11,22,33,44,55,66,77,88,99,90]
dic = {}
list_1 = [] #大于66
list_2 = [] #小于66
for i in l1:
if i ==66:
continue
if i > 66:
list_1.append(i)
else:
list_2.append(i)
dic.setdefault('k1',list_1)
dic.setdefault('k2',list_2)
print(dic)
5、统计s='hello tank tank say hello sb sb'
中每个单词的个数
s = "hello tank tank say hello sb sb"
dic1 = {}
w = s.split()
for i in w:
num = w.count(i)
dic1[i] = num
print(dic1)
结果如:{'hello': 2, 'alex': 2, 'say': 1, 'sb': 2}
6、有列表l = ['a', 'b', 1, 'a', 'a']
,去重,得到新列表,且新列表无需保持列表原来的顺序
l = ['a', 'b', 1, 'a', 'a']
l1 = set(l)
print(l1)
l2 = list(l1)
print(l2)
7、有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合:
pythons = {'egon', 'kevin', 'echo', 'owen', 'jason'}
linuxs = {'egon', 'echo', 'tank', 'oscar'}
"""
1. 求出即报名python又报名linux课程的学员名字集合
2. 求出所有报名的学生名字集合
3. 求出只报名python课程的学员名字
4. 求出没有同时这两门课程的学员名字集合
"""
-
求出即报名python又报名linux课程的学员名字集合
pythons = {'egon', 'kevin', 'echo', 'owen', 'jason'}
linuxs = {'egon', 'echo', 'tank', 'oscar'}
print(pythons & linuxs)
2.求出所有报名的学生名字集合
pythons = {'egon', 'kevin', 'echo', 'owen', 'jason'}
linuxs = {'egon', 'echo', 'tank', 'oscar'}
print(pythons | linuxs)
-
求出只报名python课程的学员名字
pythons = {'egon', 'kevin', 'echo', 'owen', 'jason'}
linuxs = {'egon', 'echo', 'tank', 'oscar'}
print(pythons - linuxs) -
求出没有同时这两门课程的学员名字集合
linuxs = {'egon', 'echo', 'tank', 'oscar'}
print(pythons ^ linuxs)
标签:linuxs,tank,练习,egon,print,集合,列表,pythons 来源: https://www.cnblogs.com/medigrat/p/11808611.html