zoukankan      html  css  js  c++  java
  • 列表、集合的相关练习

    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. 求出没有同时这两门课程的学员名字集合
    """
    1. 求出即报名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)
    1. 求出只报名python课程的学员名字

      pythons = {'egon', 'kevin', 'echo', 'owen', 'jason'}
      linuxs = {'egon', 'echo', 'tank', 'oscar'}
      print(pythons - linuxs)
    2. 求出没有同时这两门课程的学员名字集合

    linuxs = {'egon', 'echo', 'tank', 'oscar'}
    print(pythons ^ linuxs)

     

  • 相关阅读:
    iOS8中用UIVisualEffectView实现高斯模糊视图(毛玻璃效果)
    IOS推荐学习网站
    Xcode因为证书问题经常报的那些错
    bug集合令
    html5的标签
    CSS小总结
    JS中的闭包
    前端之路宣告式
    linux安装mysql数据库
    yarn环境搭建
  • 原文地址:https://www.cnblogs.com/medigrat/p/11808611.html
Copyright © 2011-2022 走看看