队列与堆栈 还有作业练习题

一、利用列表实现队列与堆栈的特征

队列
	先进先出
堆栈
	先进后出
    
需求:使用列表模拟出上述两个概念的特征
    
    
# 队列  先进先出
'''先进去的元素 先出来'''
# l = []
# # 添加元素
# l.append(111)  # l = [111,]
# l.append(222)  # l = [111, 222]
# l.append(333)  # l = [111, 222, 333]
# # 取出元素
# print(l.pop(0))  # 111  l = [222, 333]
# print(l.pop(0))  # 222  l = [333,]
# print(l.pop(0))  # 333  l = []

# 堆栈  先进后出
'''先进去元素 后出来'''
l = []
# 添加元素
l.append(111)
l.append(222)
l.append(333)  # l = [111, 222, 333]
# 取值
print(l.pop())  # 333  l = [111, 222]
print(l.pop())  # 222  l = [111,]
print(l.pop())  # 111  l = []

二、作业

1.整理今日内容至自己博客
2.字典练习题
    1.将列表中大于等于66的元素放入字典k1键对应的列表中
    	将列表中小于66的元素放入字典k2键对应的列表中
        nums=[11,22,33,44,55,66,77,88,99,90]
        dic={
            'k1':[],
            'k2':[]
        }
    2.s='hello jason jason say hello sb sb sb'
		统计字符串中每个单词出现的次数
        	{'jason':2,...}
3.集合练习题
	 一.关系运算
      有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
      pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
      linuxs={'wupeiqi','oldboy','gangdan'}
      1. 求出即报名python又报名linux课程的学员名字集合
      2. 求出所有报名的学生名字集合
      3. 求出只报名python课程的学员名字
      4. 求出没有同时这两门课程的学员名字集合
      二 去重并且保留原来的顺序
    	l = [11,22,33,22,22,33,11,22,55,66,66,77,77]
        1.去重不保留顺序
        2.去重并且保留顺序
2.1
    nums = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
    dic = {'k1': [], 'k2': []}
    for v in nums:
        if v < 66:
            dic['k1'].append(v)
        elif v > 66:
            dic['k2'].append(v)
        else:
            nums.remove(66)
    print(dic)

2.2
    s = 'hello jason jason say hello sb sb sb'
    list = s.split(" ")
    dirt = {}
    for k in list:
        dirt[k] = list.count(k)
    print(dirt)
    
3.1
    pythons = {'alex', 'egon', 'yuanhao', 'wupeiqi', 'gangdan', 'biubiu'}
    linuxs = {'wupeiqi', 'oldboy', 'gangdan'}
    print(pythons & linuxs)
    print(pythons | linuxs)
    print(pythons - linuxs)
    print(pythons ^ linuxs)

3.2.1
	# 去重不保留顺序
  	l = [11,22,33,22,22,33,11,22,55,66,66,77,77]
    set = set()
    for i in l:
        if i not in set:
            set.add(i)
    print(set)

3.2.2
	# 去重保留顺序
	l = [11,22,33,22,22,33,11,22,55,66,66,77,77]
    new_l = []
    for i in l:
        if i not in new_l:
            new_l.append(i)
    print(new_l)

	
posted @ 2021-06-17 17:03  Ame林汀  阅读(107)  评论(0)    收藏  举报