人生苦短,我学python

2023-10-26

人生苦短我学python–一个python小白的入门之路

初识Python

刚开始学python是在今年七月。对python的第一印象就是短小而又精悍,变量无需定义即可使用,数不清的大大小小的库信手拈来。笔者以为,python的语法与matlab的语法有着异曲同工之妙,其算法与c\c++等程序设计语言大同小异,熟练掌握了c\c++、matlab等,入门python也并不难。下面主要介绍python中列表、元组、字典以及他们的使用方法。

Python的特别之处

列表

列表是一种可变的序列类型,其中的元素可以是不同类型数据。

  1. 列表的表示与创建
    列表由中括号表示。例如:
>>> L1=['p','y','t','h','o','n']
>>> L2=[1,'NBA',6.43]
  1. 列表的操作
    列表作为一种序列类型,索引、切片、重复、连接、判断成员等序列操作都适用于列表操作。例如:
*切片:*
>>> L3=['A','B','C','D','E','F']
>>> L3[1:3]
['B', 'C']
*索引:*
>>> L3[0]='Z'
>>> L3
['Z', 'B', 'C', 'D', 'E', 'F']
  1. 列表的几个重要方法
    ①增加元素–L.append(x)和L.extend(x):
    在尾部添加元素,区别在于append()是将参数作为一个整体添加到列表尾部,而extend()是将参数(必须是可迭代对象)的每个元素单个添加到列表尾部。
*append():*
>>> L1=[1,2,3]
>>> L1.append([4,5])
>>> L1
[1, 2, 3, [4, 5]]

*extend():*
>>> L1=[1,2,3]
>>> L1.extend([4,5])
>>> L1
[1, 2, 3, 4, 5]

②删除元素–L.pop(x)、L.remove(x)和L.clear():
pop(x)删除列表中索引值为x的值,并返回删除的元素值,省略参数则删除列表中最后一个元素,并返回删除的元素值。例如:

>>> L1=[1,2,3,4,5]
>>> L1.pop()
5
>>> L1.pop(1)
2

remove(x)是删除指定元素x,如果列表中有多个x值,删除第一个。无返回值。例如:

>>> L2=[3,5,6,3,5]
>>> L2.remove(3)
>>> L2
[5, 6, 3, 5]

clear()没有参数,删除所以元素,变为空列表。
4. 此外还有拷贝–L.copy()、翻转列表–L.reverse()、排序–L.sort()等。

元组

元组与列表有许多相似点,可以储存不同类型的数据对象,也是序列类型,但是元组是不可变的。
1.元组的表示与创建
用圆括号()表示。例如:

>>> T1=(1,2,'a')
>>> T1
(1, 2, 'a')
>>> T2
(666,)

2.元组的操作
序列的操作同样适用于元组,需要注意的是元组虽然不可变,但是元组中的可变元素仍然可变。

字典

字典也是一种序列类型,它建立起对象的键与值之间的映射关系。字典是无序的,输出结果不唯一。
1.字典的创建
①直接创建,用大括号{}表示,每个元素使用冒号:形成键值对(key-value)。例如:

>>> score={"小明":99,"小强":98,"小红":93}
>>> score
{'小明': 99, '小强': 98, '小红': 93}

空词典:

>>> s={}
>>> type(s)
<class 'dict'>

②使用函数dict()创建。例如:

>>> score=[("小明",99),("小强",98),("小红",93)]
>>> score1=dict(score)
>>> score1
{'小明': 99, '小强': 98, '小红': 93}
>>> score2=dict(小明=99,小强=98,小红=93)
>>> score2
{'小明': 99, '小强': 98, '小红': 93}

③使用方法fromkeys(可迭代对象[,value])创建一个所有值都相等的字典,如果vaule省略,则字典的值默认为None。例如:

>>> score={}.fromkeys(('A','B','C'),90)
>>> score
{'A': 90, 'B': 90, 'C': 90}

2.字典的基本操作
①索引
通过键值索引。例如:

>>> score1['小强']
98

②更新元素
字典可以更新键的值,而键不能修改。例如:

>>> score1['小强']=100
>>> score1
{'小明': 99, '小强': 100, '小红': 93}

③添加元素
直接对一个新键值赋值。例如:

>>> score1['小刚']=89
>>> score1
{'小明': 99, '小强': 100, '小红': 93, '小刚': 89}

④成员判断
判断一个键值是否在字典中:

>>> '小明'in score1
True

⑤元素个数
len()函数返回字典中键值对的个数。例如:

>>> len(score1)
4

⑥删除元素
del删除元素。例如:

>>> del score1['小红']
>>> score1
{'小明': 99, '小强': 100, '小刚': 89}

del删除整个字典。例如:

>>> del score1
>>> score1
Traceback (most recent call last):
  File "<pyshell#26>", line 1, in <module>
    score1
NameError: name 'score1' is not defined

3.字典的方法
D.keys()–返回键的列表
D.values()–返回值的列表
D.items()–返回键值对构成的列表
……
……
……

长路漫漫

小编其实也还是python新人,想要把python学精学透,还得多下功夫,“路漫漫其修远兮,吾将上下而求索。”未来要学的东西还有很多,路还长,一步一个脚印,慢慢进步,坚持总会到达终点。
第一篇博客,许个愿望:愿我40岁时,头发还健在!
2020.7.25 01:54

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

人生苦短,我学python 的相关文章

  • 尽管极其懒惰,但如何在 Python 中模拟 IMAP 服务器?

    我很好奇是否有一种简单的方法来模拟 IMAP 服务器 例如imaplib模块 在Python中 without做很多工作 是否有预先存在的解决方案 理想情况下 我可以连接到现有的 IMAP 服务器 进行转储 并让模拟服务器在真实的邮箱 电子
  • Python BigQuery 存储。并行读取多个流

    我有以下玩具代码 import pandas as pd from google cloud import bigquery storage v1beta1 import os import google auth os environ G
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • 如何使用包含代码的“asyncio.sleep()”进行单元测试?

    我在编写 asyncio sleep 包含的单元测试时遇到问题 我要等待实际的睡眠时间吗 I used freezegun到嘲笑时间 当我尝试使用普通可调用对象运行测试时 这个库非常有用 但我找不到运行包含 asyncio sleep 的测
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • SQL Alchemy 中的 NULL 安全不等式比较?

    目前 我知道如何表达 NULL 安全的唯一方法 SQL Alchemy 中的比较 其中与 NULL 条目的比较计算结果为 True 而不是 NULL 是 or field None field value 有没有办法在 SQL Alchem
  • 打破嵌套循环[重复]

    这个问题在这里已经有答案了 有没有比抛出异常更简单的方法来打破嵌套循环 在Perl https en wikipedia org wiki Perl 您可以为每个循环指定标签 并且至少继续一个外循环 for x in range 10 fo
  • Python tcl 未正确安装

    我刚刚为 python 安装了graphics py 但是当我尝试运行以下代码时 from graphics import def main win GraphWin My Circle 100 100 c Circle Point 50
  • keras加载模型错误尝试将包含17层的权重文件加载到0层的模型中

    我目前正在使用 keras 开发 vgg16 模型 我用我的一些图层微调 vgg 模型 拟合我的模型 训练 后 我保存我的模型model save name h5 可以毫无问题地保存 但是 当我尝试使用以下命令重新加载模型时load mod
  • Python 中的二进制缓冲区

    在Python中你可以使用StringIO https docs python org library struct html用于字符数据的类似文件的缓冲区 内存映射文件 https docs python org library mmap
  • 在pyyaml中表示具有相同基类的不同类的实例

    我有一些单元测试集 希望将每个测试运行的结果存储为 YAML 文件以供进一步分析 YAML 格式的转储数据在几个方面满足我的需求 但测试属于不同的套装 结果有不同的父类 这是我所拥有的示例 gt gt gt rz shorthand for
  • Abaqus 将曲面转化为集合

    我一直试图在模型中找到两个表面的中心 参见照片 但未能成功 它们是元素表面 面 查询中没有选项可以查找元素表面的中心 只能查找元素集的中心 找到节点集的中心也很好 但是我的节点集没有出现在工具 gt 查询 gt 质量属性选项中 而且我找不到
  • 当玩家触摸屏幕一侧时,如何让 pygame 发出警告?

    我使用 pygame 创建了一个游戏 当玩家触摸屏幕一侧时 我想让 pygame 给出类似 你不能触摸屏幕两侧 的错误 我尝试在互联网上搜索 但没有找到任何好的结果 我想过在屏幕外添加一个方块 当玩家触摸该方块时 它会发出警告 但这花了很长
  • 如何将 numpy.matrix 提高到非整数幂?

    The 运算符为numpy matrix不支持非整数幂 gt gt gt m matrix 1 0 0 5 0 5 gt gt gt m 2 5 TypeError exponent must be an integer 我想要的是 oct
  • 如何改变Python中特定打印字母的颜色?

    我正在尝试做一个简短的测验 并且想将错误答案显示为红色 欢迎来到我的测验 您想开始吗 是的 祝你好运 法国的首都是哪里 法国 随机答案不正确的答案 我正在尝试将其显示为红色 我的代码是 print Welcome to my Quiz be
  • 通过数据框与函数进行交互

    如果我有这样的日期框架 氮 EG 00 04 NEG 04 08 NEG 08 12 NEG 12 16 NEG 16 20 NEG 20 24 datum von 2017 10 12 21 69 15 36 0 87 1 42 0 76
  • Python:计算字典的重复值

    我有一本字典如下 dictA unit1 test1 alpha unit1 test2 beta unit2 test1 alpha unit2 test2 gamma unit3 test1 delta unit3 test2 gamm
  • 循环标记时出现“ValueError:无法识别的标记样式 -d”

    我正在尝试编码pyplot允许不同标记样式的绘图 这些图是循环生成的 标记是从列表中选取的 为了演示目的 我还提供了一个颜色列表 版本是Python 2 7 9 IPython 3 0 0 matplotlib 1 4 3 这是一个简单的代
  • 使用基于正则表达式的部分匹配来选择 Pandas 数据帧的子数据帧

    我有一个 Pandas 数据框 它有两列 一列 进程参数 列 包含字符串 另一列 值 列 包含相应的浮点值 我需要过滤出部分匹配列 过程参数 中的一组键的子数据帧 并提取与这些键匹配的数据帧的两列 df pd DataFrame Proce
  • Pandas 与 Numpy 数据帧

    看这几行代码 df2 df copy df2 1 df 1 df 1 values 1 df2 ix 0 0 我们的教练说我们需要使用 values属性来访问底层的 numpy 数组 否则我们的代码将无法工作 我知道 pandas Data

随机推荐

  • 基于ADRC的FOC位置环控制

    ADRC位置环控制 ADRC介绍 1 非线性跟踪微分器 2 非线性ESO观测器 3 非线性状态误差反馈控制律原理 NLSEF 4 调参流程 1 调TD 2 调ESO 3 调NLSEF 5 基于ADRC的位置环设计 ADRC框图 基于ADRC
  • PKG_CHECK_MODULES未定义

    一直以来 对于使用automake有点害怕 网上的大多资料都是说明autoconf生成什么文件 automake又做什么事情 还有autoscan等等 笔者在使用开源项目过程中遇到了一个问题 PKG CHECK MODULES未定义 奇怪
  • python turtle画表情包--不可以色色

    闲来无事 翻到以前的一个代码 将它魔改一下 不可以色色 先看看运行结果图 代码如下 小伙伴们可以根据自己的需要进行更改 import turtle as t if name main t speed 0 t penup t right 30
  • 机器学习-支持向量机(非线性分类)

    一 介绍 在进行分类的时候 大部分数据并不是线性可分的 而是需要通过数据映射 将数据变换到高维度进行分类 这就需要借助核函数来对其进行变换 我们已经在线性情况下 超平面公式可以写为 对于线性不可分 我们使用一个非线性映射 将数据映射到特征空
  • css3直线运动_纯css3动画--边框线条动画

    这是一款使用纯CSS3制作的效果非常炫酷的元素边框线条动画特效 这个元素边框线条动画使用伪元素和keyframes来制作线条运动效果 制作方法 1 HTML结构 该边框线条动画特效的HTML结构使用的是一个空的 来作为容器 2 CSS样式
  • 后缀名为.phps的文件

    文章目录 前言 一 phps是什么 二 使用情场景 三 其他使用场景 前言 遇到名为index phps的文件 不明白 phps代表什么意思 这里记录一下 一 phps是什么 phps即为 PHP Source PHP Source 由 T
  • DCDC基础(3)--BUCK电路的电感选型

    最近开通了公众号 射频工程师的日常 有文章更新 可以关注一下 谢谢 上一节带大家了解了一下BUCK电路的反馈电阻和自举电容的问题 从原理上分析了下组成BUCK电路的各个元器件的作用 又有人问了 面试中经常被问到BUCK的功率电感怎么选型 电
  • 多线程基础

    文章目录 1 线程简介 1 1 多任务 1 2 多线程 1 2 1 普通方法调用和多线程 1 3 程序 进程 线程 1 3 1 Process与Thread 1 4 核心概念 2 线程实现 2 1 三种创建方式 2 1 1 Thread 2
  • 阿里的easyExcel导出

    easyExcel的gitHub地址 https github com alibaba easyexcel 开发环境 springboot 1 导入依赖
  • 如何在thinkphp5.1中写接口及接口调用

    在thinkphp5 1中如何写接口及如何调用接口 对于php不熟悉的人来说 解除thinkphp还是挺有难度的 下面记录如何编写接口 及如何对编写的接口进行调用 1 首先在thinkphp中的application中的api contro
  • 毕业设计-基于深度学习的安全帽智能识别系统

    目录 前言 课题背景和意义 实现技术思路 一 系统架构 二 基于深度学习的目标检测算法实现 三 交互设计与实现 四 基于深度学习的安全帽智能识别系统测试 五 总结 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或
  • SecureCRT 访问Linux虚拟机(Oracle VM VirtualBox) 返回超时密码错误 解决办法

    问题描述 虚拟机ip能ping通 SecureCRT就是链接不上 解决办法 在找了网上无数多的办法 并没有成功 ssh重启 修改权限 1 设置Oracle VM VirtualBox网络方式 2 进入系统检查ssh 转载 http blog
  • 分享一个python基于数据可视化的智慧社区服务平台源码

    作者 计算机源码社 个人简介 本人七年开发经验 擅长Java Python PHP NET Node js 微信小程序 爬虫 大数据等 大家有这一块的问题可以一起交流 学习资料 程序开发 技术解答 文档报告 JavaWeb项目 微信小程序项
  • 【华为OD机试真题 JAVA】两数之和绝对值最小

    JS版 华为OD机试真题 JS 两数之和绝对值最小 标题 两数之和绝对值最小 时间限制 1秒 内存限制 32768K 语言限制 不限 给定一个从小到大的有序整数序列 存在正整数和负整数 数组 nums 请你在该数组中找出两个数 其和的绝对值
  • CSAPP第二章课后作业题

    include
  • 2020最新字节跳动面试经验分享,已拿到offer (4轮技术面+hr面)

    随着秋招的开启 不管是应届毕业生找工作 还是在职程序员跳槽去找更高薪水的工作 都要面临面试这一难关 应对面试不仅需要丰富的项目经历 还需要牢固的基础知识 在这里 跟大家分享一下我面试字节跳动的经验 包括4轮技术面 hr面 希望对大家有帮助
  • STM32 软件仿真失败 ***** error 65: access violation at 0x40021000 : no ****'read' permission******

    在使用STM32进行软件仿真时 可能会遇到很多问题 最常见的当然如标题所示 STM32 软件仿真失败 no read permission 还有其他很多问题比如 error 35 undefined line number BS Templ
  • react性能优化

    写在前面的话 要想解决问题 首先得找到问题的根源 所以 说起性能分析 还是要从其生命周期和渲染机制说起 1 渲染机制 react的组件渲染分为初始化渲染和更新渲染 在初始化渲染的时候会调用根组件下的所有组件的render方法进行渲染 但是当
  • Eclipse连接Hadoop集群(详细版)

    颜子之不较 孟子之自反 是贤人处横逆之方 子贡之无谄 原思之坐弦 是贤人守贫穷之法 相关连接 HDFS相关知识 Hadoop分布式文件系统 HDFS 快速入门 Hadoop分布式文件系统 HDFS 知识梳理 超详细 Hadoop集群的安装与
  • 人生苦短,我学python

    人生苦短我学python 一个python小白的入门之路 初识Python 刚开始学python是在今年七月 对python的第一印象就是短小而又精悍 变量无需定义即可使用 数不清的大大小小的库信手拈来 笔者以为 python的语法与mat