• 小数据池、深浅拷贝和集合练习


    -- coding:utf-8--

    Author:ciquankun

    Date:2019/7/11 15:18

    '''
    1.有如下
    v1 = {'郭宝元','李杰','太白','梦鸽'}
    v2 = {'李杰','景女神'}
    请得到 v1 和 v2 的交集并输出
    请得到 v1 和 v2 的并集并输出
    请得到 v1 和 v2 的 差集并输出
    请得到 v2 和 v1 的 差集并输出

    '''
    '''
    v1 = {'郭宝元','李杰','太白','梦鸽'}
    v2 = {'李杰','景女神'}
    print(v1 & v2)
    print(v1 | v2)
    print(v1 - v2)
    print(v2 - v1)
    '''

    '''
    2.循环提示用户输入,并将输入内容追加到列表中(如果输入N或n则停止循环)
    '''
    '''
    lst = []
    while True:
    content = input("请输入内容(N/n结束输入)")
    if content.upper() == "N":
    break
    else :
    lst.append(content)
    print(lst)
    '''
    '''
    3.写代码实现
    v1 = {'alex','武sir','黑哥'}
    v2 = []

    循环提示用户输入,如果输入值在v1中存在,则追加到v2中,
    如果v1中不存在,则添加到v1中。(如果输入N或n则停止循环)

    '''
    '''
    v1 = {'alex','武sir','黑哥'}
    v2 = []
    while True:
    content = input("请输入内容(N/n结束输入)")
    if content.upper() == "N":
    break
    elif content in v1:
    v2.append(content)
    else :
    v1.add(content)
    print(v1)
    print(v2)
    '''

    '''
    4.判断以下值那个能做字典的key ?那个能做集合的元素?
    1
    -1
    ""
    None
    [1,2]
    (1,)
    {11,22,33,4}
    {'name':'wupeiq','age':18}
    '''

    集合 与key一样 : 1 -1 "" None (1,)

    5.is 和 == 的区别

    == 判断等号两边的值是否相等

    is 判断两边的地址是否相同

    '''
    6.type使用方式及作用?
    '''

    type(要求的变量名或者数据) 求括号里面的数据类型

    '''
    7.id的使用方式及作用?
    '''

    id(变量名或者数据) 求括号里的内存地址

    '''
    8.看代码写结果并解释原因

    v1 = {'k1':'v1','k2':[1,2,3]}
    v2 = {'k1':'v1','k2':[1,2,3]}

    result1 = v1 == v2
    result2 = v1 is v2
    print(result1)
    print(result2)
    '''

    '''

    True 两边的值相等

    False 只有 int str bool 满足代码块机制

    print(id([1,2,[2]]))
    print(id([1,2,[2]]))
    '''
    '''
    9.看代码写结果并解释原因

    v1 = {'k1':'v1','k2':[1,2,3]}
    v2 = v1

    result1 = v1 == v2
    result2 = v1 is v2
    print(result1)
    print(result2)
    '''

    True 赋值 值是相等的

    True 指向的是同一个地址

    '''
    10.看代码写结果并解释原因

    v1 = {'k1':'v1','k2':[1,2,3]}
    v2 = v1

    v1['k1'] = 'wupeiqi'
    print(v2)
    '''

    {'k1':'wupeixqi','k2':[1,2,3]} 赋值 用的同一块地址 v1 v2相当于指向同一内存的两个标签

    '''
    11.看代码写结果并解释原因

    v1 = '人生苦短,我用Python'
    v2 = [1,2,3,4,v1]
    v1 = "人生苦短,用毛线Python"
    print(v2)
    '''

    [1,2,3,4,'人生苦短,我用Python']潜拷贝

    '''
    12.看代码写结果并解释原因

    info = [1,2,3]
    userinfo = {'account':info, 'num':info, 'money':info}

    info.append(9)
    print(userinfo)

    info = "题怎么这么多"
    print(userinfo)
    '''

    {'account': [1, 2, 3, 9], 'num': [1, 2, 3, 9], 'money': [1, 2, 3, 9]}

    {'account': [1, 2, 3, 9], 'num': [1, 2, 3, 9], 'money': [1, 2, 3, 9]} 浅拷贝

    '''
    13.看代码写结果并解释原因

    info = [1,2,3]
    userinfo = [info,info,info,info,info]

    info[0] = '不仅多,还特么难呢'
    print(info,userinfo)
    '''

    ['不仅多,还特么难呢',2,3] [['不仅多,还特么难呢',2,3],['不仅多,还特么难呢',2,3],

    ['不仅多,还特么难呢',2,3],['不仅多,还特么难呢',2,3],['不仅多,还特么难呢',2,3]] 浅拷贝

    '''
    14.看代码写结果并解释原因

    info = [1,2,3]
    userinfo = [info,info,info,info,info]

    userinfo[2][0] = '闭嘴'
    print(info,userinfo)
    '''

    ["闭嘴",2,3] [["闭嘴",2,3],["闭嘴",2,3],["闭嘴",2,3],["闭嘴",2,3],["闭嘴",2,3]] 浅拷贝

    '''
    15.看代码写结果并解释原因

    info = [1,2,3]
    user_list = []
    for item in range(10):
    user_list.append(info)
    info[1] = "是谁说Python好学的?"

    print(user_list) 浅拷贝
    '''

    [[1,'是谁说Python好学的?',3],['是谁说Python好学的?',2,3],['是谁说Python好学的?',2,3],

    ['是谁说Python好学的?',2,3],['是谁说Python好学的?',2,3],['是谁说Python好学的?',2,3],

    ['是谁说Python好学的?',2,3],['是谁说Python好学的?',2,3],['是谁说Python好学的?',2,3],['是谁说Python好学的?',2,3]

    '''
    16.看代码写结果并解释原因

    data = {}
    for i in range(10):
    data['user'] = i
    print(data)
    '''

    {'user':9}相同的值都覆盖了

    '''
    17.看代码写结果并解释原因

    data_list = []
    data = {}
    for i in range(10):
    data['user'] = i
    data_list.append(data)
    print(data)
    '''

    data = {'user':9}

    data_list = [{'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}, {'user': 9},

    {'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}]

    '''
    18.看代码写结果并解释原因

    data_list = []
    for i in range(10):
    data = {}
    data['user'] = i
    data_list.append(data)
    print(data_list)
    '''

    [{'user': 0}, {'user': 1}, {'user': 2}, {'user': 3}, {'user': 4},

    {'user': 5}, {'user': 6}, {'user': 7}, {'user': 8}, {'user': 9}]

    '''
    19.使用循环打印出一下效果:

    **






    **
    *
    *





    '''
    '''
    for i in range(1,6):
    print("" i)
    for i in range(4,0,-1):
    print(i"")
    for i in range(1,10,2):
    print(i"")
    '''

    '''
    20.敲七游戏.
    从1开始数数. 遇到7或者7的倍数(不包含17,27,这种数)要在桌上敲⼀下.
    编程来完成敲七.
    给出⼀个任意的数字n.
    从1开始数. 数到n结束.
    把每个数字都放在列表中, 在数的过程中出现7或 者7的倍数(不包含17,27,这种数)
    .则向列表中添加⼀个'咣'
    例如, 输⼊10. lst = [1, 2, 3, 4, 5, 6, '咣', 8, 9, 10]
    '''
    '''
    lst = []
    my_num = input("请输入一个数字:")
    if my_num.isdecimal() == True and int(my_num)>0:
    for i in range(1,int(my_num)+1):
    if i % 7 == 0 :
    lst.append("咣")
    else:
    lst.append(i)
    else:
    print("你输入的不是正整数!")
    print(lst)
    '''

  • 相关阅读:
    linux磁盘挂载
    3个方法解决百度网盘限速 (2018-07-20)
    mysql状态分析之show global status
    Cgroups子系统介绍
    Go语言 关键字:defer
    Go语言 map的实现
    Go语言 基本类型
    MySQL 监控指标
    sshpass的使用方法
    C++11 std::ref使用场景
  • 原文地址:https://www.cnblogs.com/ciquankun/p/11172634.html
Copyright © 2020-2023  润新知