码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 02 python基本数据结构


    python基本数据结构

    python的数据结构来回学习很多遍,这次进行归纳总结,方便python的初学者查看,包括列表,字典,元祖,集合,文章会从增删查的维度改来演示

    1、列表(list)

    创建列表的2中方式

    方式1: 使用[ ] 直接创建列表

    a = []
    print(a)
    
    • 1
    • 2

    方式2:使用list() 内置函数,可以将其他类型转换成列表类型

    m = "hello"
    print(list(m))
    
    n = (1,2,3)
    print(list(n))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    访问列表元素

    方式1:通过索引访问

    list1 = ["java", "python", "C", "C++"]
    print(list1[0])
    print(list1[1])
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    方式2:通过切片访问列表元素

    list1 = ["java", "python", "C", "C++", "Ruby", "PHP", "JavaScript", "Vue"]
    print(list1[0:2])
    
    • 1
    • 2

    在这里插入图片描述

    另外也可以指定步长

    list1 = ["java", "python", "C", "C++", "Ruby", "PHP", "JavaScript", "Vue"]
    print(list1[0:8::2])
    
    • 1
    • 2

    在这里插入图片描述
    补充点:
    这里有个问题是,使用append() 添加元素是添加引用地址,而不是元素内容,当被添加的列表元素发生变化时,添加后的列表也会同步发生变化
    在这里插入图片描述
    从输出的结果来看,当被添加的列表元素发生变化时,原列表内容也发生了变化,我们通过id() 函数来验证一下
    在这里插入图片描述
    原因可能就出在引用地址上面,这里可以去了解下深拷贝和浅拷贝的区别
    下面用深拷贝试试,

    向列表添加元素的3种方式

    方式1:
    append()方法添加元素,含义是将元素添加到末尾

    在这里插入图片描述
    可以添加任意类型的元素在这里插入图片描述

    方式2:extend() 方法添加元素,表示添加到列表末尾
    可以将另一个列表中的元素都一个个添加到原有列表的末尾

    list1 = ["java"]
    list2 = [1, 2, 3, 4]
    list1.extend(list2)
    print(list1)
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    方式三: 通过insert方式添加元素

    list1 = ["java"]
    list2 = [1, 2, 3, 4]
    list1.insert(0,"Python")
    print(list1)
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

  • 相关阅读:
    【爬虫系列】用Pyqt5写一个爬虫小助手
    c++八股day2-虚函数表和虚函数表指针的创建时机
    ELF 和 二进制文件的区别
    QT通过QSS文件样式表设置改变窗体与按钮背景外观
    API接口安全运营研究(内附官方开发平台api接口接入方式)
    常用工具类Commons-Configuration2简介
    九、Echart图表 之 grid组件用法 直角坐标系内绘图网格
    牛客题目——判断一个链表是否为回文结构、数据流中的中位数、PriorityQueue的常用方法
    BUUCTF学习(7): 随便注,固网杯
    Unity图形节点插件xNode简单使用说明
  • 原文地址:https://blog.csdn.net/mghoumin/article/details/126963798
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号