python中的map、split、join函数的作用 => ACM输入输出流

map(func,iter)

lst_str = ["1", "2", "3"]
# 得到lst_num为[1, 2, 3]
lst_num = list(map(int, lst_str))

如果想把一个列表里的所有元素批量地调用某一个函数,并映射得到一个新的列表(原列表中元素相对位置不变),可以使用内置函数map(func, iter)。
map(func, iter)的含义是,对可迭代对象iter(通常是一个列表)里的所有元素都调用函数func,并得到一个新的map对象。如果我们对map对象的外部再调用list(),则可以得到一个新的列表。
上述过程,是将lst_str = [“1”, “2”, “3”]中的每一个元素即str类型的"1"、“2”、"3"都调用了函数int(),转化为int类型的的1、2、3。
实际上等价于

lst_str = ["1", "2", "3"]
lst_num = list()
for ch in lst_str:lst_num.append(int(ch))
# 得到lst_num为[1, 2, 3]

split(x)

字符串中的split(x)方法以字符串x为分割符,将原字符串分割为一个新的列表并返回,原字符串不发生改变。如果不传入参数x,则默认为按照空格" “进行分割。最常用的分隔符为空格” “或者逗号”,"。

s = "1 2 3 4 5"
lst = s.split()
# 等价于lst = s.split(" ")s = "1,2,3,4,5"
lst = s.split(",")# 两种分割均会得到lst = ["1", "2", "3", "4", "5"]

join(lst)

字符串中的join(lst)方法以原字符串为合并符,将列表lst合并为一个新的字符串并返回。
注意lst中的元素必须是字符串。最常用的合并符为空字符串"“、空格字符串” “、逗号”,"。

lst = ["a", "b", "c"]
s = "".join(lst)
# 会得到s = "abc"s_space = " ".join(lst)
# 会得到s_space = "a b c"s_star = "*".join(lst)
# 会得到s_star = "a*b*c"

字符串的分割与合并是一对相互对应的操作,常用于列表与字符串之间的相互转换。
注意:

  1. 字符串属于一种不可变数据类型,并不能直接进行修改操作。当题目要求对一个字符串进行修改时,通常会先将原字符串使用split()方法或list()转化成列表,对列表修改后再使用join()方法得到新字符串的方式来实现。
  2. 列表lst必须是一个字符串类型列表,即lst: List[str]。如果lst是一个整数类型列表,直接使用语句"".join(lst)会出现类型错误TypeError。如需进行合并操作,必须使用map()内置函数对lst中的元素进行类型转换,将lst中的所有int类型元素转换成str类型。即
lst = [0, 4, 2]
s = "".join(list(map(str, lst)))    # 得到s = "042"

ACM输入输出流

在ACM模式中,我们通常会遇到用输入列表的情况,且列表中的各个元素用空格或者逗号隔开。
我们可以使用字符串的split()方法结合map()函数来实现输入。
输入字符串列表,可以这样写

# 输入形如"a b c"的字符串列表,用空格隔开
# 得到形如lst = ["a", "b", "c"]
lst = input().split()

输入数字列表,可以这样写

# 输入形如"1 2 3"的数字列表,用空格隔开
# input().split()会得到形如["1", "2", "3"]
# 得到形如lst = [1, 2, 3]
lst = list(map(int, input().split()))

在ACM模式中,列表的输出通常要求以字符串的形式输出,且用空格或逗号分隔开各个元素。
我们可以使用字符串的join()方法结合map()函数来实现输出。
输出字符串列表,可以这样写

# 输出形如"a b c"的字符串列表,用空格隔开
lst = ["a", "b", "c"]
ans = " ".join(lst)
print(ans)

输出数字列表,可以这样写

# 输出形如"1 2 3"的数字列表,用空格隔开
nums = [1, 2, 3]
ans = " ".join(list(map(str, nums)))
print(ans)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】七种常用排序总结

一、七种排序及其讲解 以下为七种排序的讲解: 【数据结构】插入排序——直接插入排序 和 希尔排序 【数据结构】选择排序——选择排序 和 堆排序 【数据结构】交换排序——冒泡排序 和 快速排序 【数据结构】归并排序 —— 递归及非递归解决归并排序 二、排序的…

【AI日记】24.11.23 学习谷歌数据分析初级课程-第4课

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 核心工作 内容:学习谷歌数据分析初级课程地址:第四课《从脏数据到干净数据的处理》时间:4 小时评估:不错,完成 读书 书名:權力與進步时…

计算机网络(14)ip地址超详解

先看图: 注意看第三列蓝色标注的点不会改变,A类地址第一个比特只会是0,B类是10,C类是110,D类是1110,E类是1111. IPv4地址根据其用途和网络规模的不同,分为五个主要类别(A、B、C、D、…

HashMap底层原理

jdk1.8之后hashmap底层结构 jdk1.8之后,是哈希表数据结构,也可以说是数组链表或红黑树,下图是没有添加数据的一个hashmap。 现在开始添加数据,看下面具体步骤 put操作 如下,我们来简单看看hashmap的put源码&#xff…

【GD32】(三) ISP基本使用

0 前言 有一块GD32的板子不知道为啥用着用着就下载不了程序了,没办法,只能另寻他法。作为STM32的平替,GD32的功能和STM32基本是一致的,所以也可以使用ISP来下载程序。于是就开始复活这块板子。 1 BOOT模式 对于熟悉STM32开发的人…

《下载别人的python项目,如何安装 requirements.txt 中的包》

在开发过程中,我们经常会下载别人的开源项目进行学习或二次开发。然而,下载项目后,如何正确安装项目所需的依赖包是一个常见的问题。本文将详细介绍如何使用 requirements.txt 文件来安装项目依赖包,并确保项目在本地环境中正常运…

摄像机视频分析软件下载LiteAIServer视频智能分析平台玩手机打电话检测算法技术的实现

随着科技的不断进步,摄像机视频分析软件的发展已经为我们的生活带来了许多便捷。其中,LiteAIServer视频智能分析平台的玩手机打电话检测算法技术尤为突出,它利用先进的图像处理和人工智能技术,能够自动识别并监控视频中的玩手机或…

鸿蒙多线程开发——sendable共享模块

1、前 言 本篇文章是基于鸿蒙多线程开发——线程间数据通信对象03(sendable)的接续讨论。 2、共享模块 共享模块是进程内只会加载一次的模块,使用"use shared"这一指令来标记一个模块是否为共享模块。 非共享模块在同一线程内只加载一次,在…

推荐几个 VSCode 流程图工具

Visual Studio Code(简称VSCode)是一个由微软开发的免费、开源的代码编辑器。 VSCode 发布于 2015 年,而且很快就成为开发者社区中广受欢迎的开发工具。 VSCode 可用于 Windows、macOS 和 Linux 等操作系统。 VSCode 拥有一个庞大的扩展市…

学习Prompt Turning

传统的微调因为代价很高,而且一旦权重很大,这种fine 微微的意思是调不动模型的,所以需要这种提示词调 mindnlp直接有 peft config peft_config PromptTuningConfig(task_type“SEQ_CLS”, num_virtual_tokens10) 方便我们进行prompt tunin…

C++ 中的模板特化和偏特化 如何进行模板特化和偏特化

模板特化和偏特化的概念 模板特化(Template Specialization) 概念:模板特化是指为特定的模板参数(或参数组合)提供一个特殊的实现。当编译器在实例化模板时,如果遇到与特化版本匹配的参数类型,就…

React中 setState 是同步的还是异步的?调和阶段 setState 干了什么?

React中 setState 是同步的还是异步的 1. React 的 setState 是异步的2. 为什么 setState 在合成事件和生命周期函数中是异步的3. 为什么 setState 在原生事件和定时器中是同步的4. 为什么要这样设计?调和阶段是什么setState在调和阶段干了什么?总结&…

2024 APMCM亚太数学建模C题 - 宠物行业及相关产业的发展分析和策略(详细解题思路)

在当下, 日益发展的时代,宠物的数量应该均为稳步上升,在美国出现了下降的趋势, 中国 2019-2020 年也下降,这部分变化可能与疫情相关。需要对该部分进行必要的解释说明。 问题 1: 基于附件 1 中的数据及您的团队收集的额…

若依-一个请求中返回多个表的信息

背景 主表是点位表关联子表 需要知道对应 合作商的信息关联子表 需要直到对应 区域的信息关联子表 需要直到对应 设备数量 实现的方案 关联实体相关的标签

速盾:海外服务器使用CDN加速有什么优势?

CDN(Content Delivery Network)是指一种分布式网络架构,将内容分发到全球多个节点服务器上,使用户能够就近获取所需内容。海外服务器使用CDN加速,具有以下几个优势: 提高访问速度:CDN将内容复制…

AWTK-WEB 快速入门(1) - C 语言应用程序

先安装 AWTK Designer 用 AWTK Designer 新建一个应用程序 2.1. 新建应用程序 这里假设应用程序的名称为 AwtkApplicationC,后面会用到,如果使用其它名称,后面要做相应修改。 在窗口上放置一个按钮将按钮的名称改为 “close”将按钮的文本改…

客户流失分析综述

引言 客户流失这个术语通常用来描述在特定时间或合同期内停止与公司进行业务往来的客户倾向性[1]。传统上,关于客户流失的研究始于客户关系管理(CRM)[2]。在运营服务时,防止客户流失至关重要。过去,客户获取相对于流失…

PDF内容提取,MinerU使用

准备环境 # python 3.10 python3 -m pip install huggingface_hub python3 -m pip install modelscope python3 -m pip install -U magic-pdf[full] --extra-index-url https://wheels.myhloli.com下载需要的模型 import json import osimport requests from huggingface_hub…

Kafka 分区分配及再平衡策略深度解析与消费者事务和数据积压的简单介绍

Kafka:分布式消息系统的核心原理与安装部署-CSDN博客 自定义 Kafka 脚本 kf-use.sh 的解析与功能与应用示例-CSDN博客 Kafka 生产者全面解析:从基础原理到高级实践-CSDN博客 Kafka 生产者优化与数据处理经验-CSDN博客 Kafka 工作流程解析&#xff1a…

【2024APMCM亚太赛A题】完整参考论文与代码分享

A题 一、问题重述二、问题分析问题一:水下图像分类问题二:退化原因建模问题三:针对单一退化的图像增强方法问题四:复杂场景的综合增强模型问题五:针对性增强与综合增强的比较 三、问题假设退化特征独立性假设物理模型普…