【Python】列表和字典


知识目录

  • 一、写在前面✨
  • 二、列表应用
  • 三、字典应用
  • 四、总结撒花😊

一、写在前面✨

大家好!我是初心,希望我们一路走来能坚守初心!

今天跟大家分享的文章是 Python函数式编程第二弹,再次以两个简单的例子带大家更好的理解Python函数的使用。 ,希望能帮助到大家!本篇文章收录于 初心 的 Python从入门到精通 专栏。

🏠 个人主页:初心%个人主页
🧑 个人简介:大家好,我是初心,和大家共同努力
💕欢迎大家:这里是CSDN,我记录知识的地方,喜欢的话请三连,有问题请私信😘

💕 如果有一个喜欢你的人出现,一定不要凶她哦! —— 瑶瑶「次元战争·红龙」

本期跟大家分享的是列表和字典的两个小例题,希望能帮助到大家。

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

Python有6个序列的内置类型,但最常见的是列表和元组。

二、列表应用

列表是一种可变的、有序的数据结构,可以随时添加和删除其中的元素。

List (列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组

编程实现:给定一组数值,输出比平均体重更重的那些数值。

from functools import reduce

def evaluate(weight_list):
    """
    >>> evaluate([24.5,28,21,20,19])
    [24.5, 28]

    >>> evaluate([28])
    []

    >>> evaluate([25.6, 24.6, 20, 19])
    [25.6, 24.6]

    >>> evaluate([20, 20, 20, 20])
    []
    """
import doctest
doctest.testmod()

具体实现:(返回的是一个列表生成式)

sum = 0
# 计算总体重
for i in weight_list:
    sum += i
# 平均体重
avg_weight = sum / len(weight_list)
# 返回超重体重
return [i for i in weight_list if i > avg_weight]

三、字典应用

字典是另一种可变容器模型,且可存储任意类型对象

字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中。

编程实现:对s字符串中的字母和数字统计出现次数(注意不区分字母大小写,统一用小写)。

def count(s):
    """ 对s字符串中的字母和数字统计出现次数(注意不区分字母大小写,统一用小写)
    >>> count("abc1ab")
    {'a': 2, 'b': 2, 'c': 1, '1': 1}
    >>> count("#bc1ab")
    {'b': 2, 'c': 1, '1': 1, 'a': 1}
    >>> count("AbC1ab")
    {'a': 2, 'b': 2, 'c': 1, '1': 1}    
    """
import doctest
doctest.testmod()

具体实现:(不包括函数名和doctest)

# 导入正则表达式模块
import re
# 定义一个空字典
result = {}
# 首先使用正则表达式去除非数字和字母的字符
regex = r'[^0-9a-zA-Z]'
s = re.sub(regex, '', s)
# 然后转化为小写
s = s.lower()
# 遍历字符串
for i in s:
    # 如果字典中存在这个键,就数量加1
    if result.__contains__(i):
        result[i] += 1
    else:
        # 否则数量为1
        result[i] = 1
return result

四、总结撒花😊

本文主要讲解了Python中常用的两种数据类型——列表和字典😊

这就是今天要分享给大家的全部内容了,我们下期再见!😊

🏠 本文由初心原创,首发于CSDN博客, 博客主页:初心%🏠

🏠 我在CSDN等你哦!😍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/24449.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OpenStreetMap实战

介绍 OpenStreetMap(OSM)是一个由志愿者创建并维护的免费和开源的地图数据库。其目的是为全球任何人提供可自由使用、编辑和分发的地图数据。OpenStreetMap数据库中的地理要素包括道路、建筑、河流、森林、山脉、公共设施等。由于OpenStreetMap是开放的…

单点登录二:登录过程使用摘要算法和加盐的意义以及demo练习

上一篇《springboot项目使用redis、springSecurity、jwt实现单点登录》写了关于单点登录的架子&#xff0c;但是没有实现密码验证的细节。这里使用盐和摘要算法来实现一个密码验证的完整过程demo。 1、依赖没变&#xff0c;还是上一篇内容那些 <dependencies><depen…

接口测试简介以及接口测试用例设计思路

接口测试简介 1.什么是接口 接口就是内部模块对模块&#xff0c;外部系统对其他服务提供的一种可调用或者连接的能力的标准&#xff0c;就好比usb接口&#xff0c;他是系统向外接提供的一种用于物理数据传输的一个接口&#xff0c;当然仅仅是一个接口是不能进行传输的&#x…

多层感知机学习XOR实例

多层感知机学习XOR实例 多层感知机介绍使用多层感知机学习XOR实例传统统计数学方法&#xff08;传统机器学习&#xff09;使用多层感知机学习XOR 总结 多层感知机介绍 多层感知机&#xff08;Multilayer Perceptron&#xff0c;MLP&#xff09;&#xff0c;又称为深度前馈网络…

JAVA并发编程之锁应用

Java并发包是Java中提供的一个用于支持多线程编程的工具包。Java并发包提供了多种机制来控制线程的执行&#xff0c;保证线程的安全性和可靠性。下面我们将介绍Java并发包的使用方法&#xff0c;并给出示例。 synchronized public class SynchronizedDemo { ​private int v;…

自学网络安全,一般人我劝你还是算了吧

学前感言: 我为什么会这样说&#xff0c;要一般人自学网络安全就算了&#xff0c;因为我不是一般人 1.这是一条坚持的道路,三分钟的热情可以放弃往下看了. 2.多练多想,不要离开了教程什么都不会了.最好看完教程自己独立完成技术方面的开发 .3.有时多 google,baidu,我们往往都…

termux-x11教程

小粉丝已经求稿两个星期了&#xff0c;不写是不行了。 termux-x11 是Termux的一个图形化项目&#xff0c;官方是这么介绍的。 A Termux add-on app providing Android frontend for Xwayland.安装工具 我们需要在Termux和安卓系统上安装工具以成功的运行程序。 x11-repo&am…

使用canvas给图片添加水印

上接文章“图片处理” canvas元素其实就是一个画布&#xff0c;我们可以很方便地绘制一些文字、线条、图形等&#xff0c;它也可以将一个img标签里渲染的图片画在画布上。 我们在上传文件到后端的时候&#xff0c;使用input标签读取用户本地文件后得到的其实是一个Blob对象&a…

HNU-电路与电子学-小班3

第三次讨论 1 、直接用晶体管而不是逻辑门实现异或门&#xff0c;并解释这个电路是如何工作的。 &#xff08;6个 MOS 管构成&#xff09; 2 、通信双方约定采用 7 位海明码进行数据传输。请为发送方设计海明码校验位 生成电路&#xff0c;采用功能块和逻辑门为接收方设计海…

ISO_IEC_7816-3

介绍 ISO/IEC 7816 是一系列标准&#xff0c;规定了集成电路卡和此类卡的使用 互换。 这些卡是用于在外部世界和卡中的集成电路之间协商的信息交换的识别卡。 作为信息交换的结果&#xff0c;卡传递信息&#xff08;计算结果、存储的数据&#xff09;和/或修改其内容&#xff0…

路径规划算法:基于果蝇优化的路径规划算法- 附代码

路径规划算法&#xff1a;基于果蝇优化的路径规划算法- 附代码 文章目录 路径规划算法&#xff1a;基于果蝇优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要&#xff1a;本文主要介绍利用智能优化算法果蝇…

2023全国酒店数据

数据内容字段结构 hotel_id int(11) NOT NULL, name varchar(100) DEFAULT NULL, name_en varchar(100) DEFAULT NULL, short_name varchar(100) DEFAULT NULL, province varchar(20) DEFAULT NULL, city_id int(11) DEFAULT NULL, city varchar(20…

Android12之源码手动生成aidl对应java/cpp/ndk/rust服务(一百五十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

博客系统(ssm版本)

在前面的文章中给大家介绍过博客系统的servlet版本&#xff0c;但是servlet的技术非常的老旧&#xff0c;我们在企业中用的都是springboot相关的框架&#xff0c;本章内容就是讲述如何一步一步的利用ssm的技术来实现博客系统。 目录 前期配置 创建数据库 配置文件 公共文件…

【JavaSE】Java基础语法(五):数组详解

文章目录 &#x1f378;1.1 数组介绍&#x1f378;1.2 数组的动态初始化1.2.1 什么是动态初始化1.2.2 动态初始化格式&#x1f378;1.3 数组元素访问1.3.1 什么是索引1.3.2 访问数组元素格式1.3.3 示例代码 &#x1f378;1.4 内存分配1.4.1 内存概述1.4.2 java中的内存分配 &am…

【Java-10】深入浅出线程安全、死锁、状态、通讯、线程池

主要内容 线程安全线程死锁线程的状态线程间通讯线程池 1 线程安全 1.1 线程安全产生的原因 多个线程在对共享数据进行读改写的时候&#xff0c;可能导致的数据错乱就是线程的安全问题了 问题出现的原因 : 多个线程在对共享数据进行读改写的时候&#xff0c;可能导致的数据…

第五十天学习记录:C语言进阶:位段

位段 什么是位段 位段的声明和结构是类似的&#xff0c;有两个不同&#xff1a; 1、位段的成员可以是int,unsigned int或signed int。 2、位段的成员名后边有一个冒号和一个数字。 #define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>//位段-二进制位 struct A {int …

GoWeb -- gin框架的入门和使用(2)

前言 书接上回&#xff0c;在gin的框架使用中&#xff0c;还有着许多方法以及它们的作用&#xff0c;本篇博客将会接着上次的内容继续记录本人在学习gin框架时的思路和笔记。 如果还没有看过上篇博客的可以点此跳转。 map参数 请求url&#xff1a; http://localhost:8080/us…

什么是IPAM?如何使用IPAM来管理IP地址和DHCP?

在计算机网络中&#xff0c;IPAM&#xff08;IP Address Management&#xff09;是一种用于管理IP地址和DHCP&#xff08;Dynamic Host Configuration Protocol&#xff09;的工具或系统。IPAM旨在简化和集中管理IP地址分配、子网划分和DHCP配置等任务。本文将详细介绍IPAM的概…

奇偶分频电路

目录 偶数分频 寄存器级联法 计数器法 奇数分频 不满足50%占空比 50%占空比 偶数分频 寄存器级联法 寄存器级联法能实现2^N的偶数分频&#xff0c;具体做法是采用寄存器结构的电路&#xff0c;每当时钟上升沿到来的时候对输出结果进行翻转&#xff0c;以此来实现偶数分…