码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • python对数据的处理合集——字典、列表...


    1.两个列表的数据对比
    ①list2包含了list1,求出list2多余的值

    #coding=utf-8
    
    list1=[1,3,5]
    list2=[1,3,5,7,9,11]
    list=[]
    for i in list2:
        if i not in list1:
            list.append(i)
    print(list)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述
    ②求出两个列共同的值

    ③两个列表合并

    #第一种:+
    list1 = [1, 2, 3]
    list2 = [4, 5, 6]
    new_list = list1 + list2
    
    #第二种:append
    list1 = [1, 2, 3]
    list2 = [4, 5, 6]
    for item in list2:
        list1.append(item)
    new_list = list1
    
    #第三种:extend
    list1 = [1, 2, 3]
    list2 = [4, 5, 6]
    list1.extend(list2)
    new_list = list1
    
    #第四种:列表解析语法
    list1 = [1, 2, 3]
    list2 = [4, 5, 6]
    new_list = [x for x in (list1, list2)]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    2.列表去重

    #求出list1不重复的值
    list1=[1,3,5,7,9,1,11,2,3]
    new_list=set(list1)
    print(new_list)
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    3. 字典的键转为大写、或者首字母转为大写
    ①修改键名,普通修改

    #把键名name改成Name
    my_dict = {'name': '小丽'}
    # 将原来的键名映射到新的键名,并添加到字典中;pop是删除键
    my_dict['Name'] = my_dict.pop('name')
    print(my_dict)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述
    ②键名全部转为大写

    my_dict={"name":"小丽","age":18,"sex":"男"}
    new_dict={}
    for key in list(my_dict.keys()):
        value = my_dict[key]
        newkey =key.upper()
        new_dict[newkey] = value
    print(new_dict)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    ③键名全部转为首字母大写

    my_dict={"name":"小丽","age":18,"sex":"男"}
    new_dict={}
    for key in list(my_dict.keys()):
        value = my_dict.pop(key)
        newkey =key.title()
        new_dict[newkey] = value
    print(new_dict)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    4.字典合并新的字典
    ①ChainMap

    data1={"name":"小丽","age":19,"sex":"女"}
    data2={"familys":8}
    new_data=dict(ChainMap(data1, data2))
    print(new_data)
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    ②深拷贝deepcopy

    data1= {"name": "xiaoming", "age": 27}
    data2= {"gender": "male"}
    from copy import deepcopy
    newdata = deepcopy(data1)
    newdata.update(data2)
    print(newdata)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述
    ③普通copy更新

    d1 = {'name': 'revotu', 'age': 99}
    d2 = {'age': 24, 'sex': 'male'}
    d = dict(d1)
    #更新后,age拿的是d2的值
    d.update(d2)
    print(d)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

  • 相关阅读:
    面试题:Java中为什么只有值传递?
    集合论
    实在智能应邀出席中国移动科技工作者论坛,分享基于大模型+Agent智能体的“企业大脑”
    1-乙基-3-甲基咪唑醋酸盐([EMIM][Ac]);甲基三辛基醋酸铵[N(1,8,8,8)][Ac]齐岳离子液体
    Windows11系统C盘用户文件夹下用户文件夹为中文,解决方案
    基于springboot小区物业管理系统
    《Real-Time Rendering 3rd》读书笔记
    Java#31(不可变集合,Stream流和方法引用)
    JUC并发工具类在大厂的应用场景详解
    Linux NVMe Driver学习笔记之6:Admin Queue与Blk-mq初始化
  • 原文地址:https://blog.csdn.net/lala_yanzi/article/details/134415065
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号