用python刷算法题中的小技巧

我们需要知道python的一些常用小技巧:

下面列出一些在蓝桥杯python编程需要用到的小技巧:

学习过python的同学一定知道,学习python语法是很简单的一件事情。相比于c,c++,再简单不过了,我相信稍微有一点编程基础的同学,用上一天就能把python的基础语法差不多掌握。但是,在实际写代码的时候,总是会遇到各种各样的“坑”,让初出茅庐的我们经常“卡死”在某一个小环节上,然后开始怀疑人生。

我将一些比较实用的坑给大家罗列一下,让代码之路更加平坦一些吧!

列表怎么转化为字符串

一个列表存储了一段字符

ls = ["1","2","3"]

我们怎么样把这个列表变成一个字符串 “123”呢?

也许你有很多的想法,但是下面这一句代码可以很好的解决这个问题:

"".join(ls)

这样就将ls转化为字符串了,它的返回值时:“123”

字符串可以看做可迭代对象

众所周知,列表是可以迭代的:

ls = ["a","b","c"]for i in ls:

print(i)

a b c

字符串也可以这样操作:

s = "abc"for i in s:

print(i)

a b c

字符串是不可变对象

我们有时候会想改变字符串里的某一个字符,例如将“abc”变成“abd”,于是有了下面的代码:

s = "abc"s[2] = "d"

看上去非常合理,运行一些,哦豁,报错了,鲜红的字体:

TypeError: 'str' object does not support item assignment

这是为啥呢?真相就是,在python中,字符串是不可变的,在python中,像这样的例子还有这些:

数字

字符串

元组

不可变集合

他们都不支持原处修改的,切记

那么,怎么样去修改固定的某一个字符呢?

可以先将字符串转化为列表,修改完之后再转化为字符串

s = "abc"temp = list(s)temp[2] = "d"s = "".join(temp)print(s)

太长了,有没有更好一点的办法呢,有,使用replace函数:

s = "abc"s = s.replace("c","d")print(s)

当然还有其他的办法,但是你要记住的就是,字符串是不可变的!

怎么样接收由空格分开的多个数据

这个在算法题里面是很常见的,

我们有时候想会接受多个数据,但是是用空格分割的,怎么样去接收呢?很简单,用split函数:

ls = input().split()

split()函数括号里填写的是分割符,不填默认的就是空格,这样,假如你输入 1 2 3:

ls就等于 [1,2,3],接下来你就可以随意取用了

同时改变列表中所有元素的类型

比如说你有一个列表,里面的列表元素全部都是字符型,你需要将这些字符全部转化为int型,这个时候你可以写一个循环来实现,但是更加简洁的方法是使用map函数

ls = input().split()ls2 = list(map(int,ls))

map函数说白了,就是对可迭代对象里面的每一个元素,进行同一种映射,上面的代码就是将ls里的每一个元素,都用int()函数映射为int型,将返回的对象再用list()函数转换为列表

假如ls1 = ["1","2","3"]

那么ls2 = [1,2,3]

python比赛2020_2020蓝桥杯python组备战方法相关推荐

  1. 【蓝桥杯国赛真题05】python读数系统 蓝桥杯青少年组python编程 蓝桥杯国赛真题解析

    目录 python读数系统 一.题目要求 1.编程实现 2.输入输出 3.评分标准

  2. 蓝桥杯python组一个星期备战记录贴

    蓝桥杯python组一个星期备赛记录贴 文章目录 前言 注意事项: 一.贪心算法 二.最小生成树之Prim算法 三.动态规划 四.递归算法 五.树与堆 前言 目前是2021年4月11日,一位pytho ...

  3. 青少年蓝桥杯python组(STEMA中级组)

    STEMA中级-青少年蓝桥杯python组 第一套编程题 第一题 第二题 第三题 第四题 第五题 第二套编程题 第一题 第二题 第三题 第四题 第五题 第一套编程题 第一题 [编程实现] 输入一个字符 ...

  4. 第十三届蓝桥杯Python B组国赛题解

    第十三届蓝桥杯Python B组国赛题解 试题A:斐波那契与7 试题 B: 小蓝做实验 试题 C: 取模 试题 D: 内存空间 试题 E: 近似 GCD 试题 F: 交通信号 试题 G: 点亮 试题 ...

  5. 第十三届蓝桥杯Python 大学B组真题详解

    第十三届蓝桥杯Python B组真题详解 试题A 排列字母 试题B 寻找整数 试题C 纸张尺寸 试题D 位数排序 试题E 蜂巢 试题F 消除游戏 试题G 全排列的价值 试题H 技能升级 试题I 最长不 ...

  6. 蓝桥杯Python初级组测试题之Turtle画图2

    蓝桥杯Python初级组测试题之Turtle画图2 1. 画8个内接正五边形 题目描述 解题思路 (1) 共有n=8个正五边形,因而有8次循环,每次旋转角度增加ang=360/n (2) 画内接正五边 ...

  7. 2022年蓝桥杯Python程序设计B组思路和代码分享

    2022年蓝桥杯Python程序设计B组比赛结束了,分享一下题目以及思路. 文章目录 A:排列字母 题目: 思路: 代码: B: 寻找整数 题目: 思路: 代码: C: 纸张尺寸 题目: 思路: 代码 ...

  8. 蓝桥杯python组——猜生日

    蓝桥杯python组--猜生日 import os import sys import datetime start=datetime.date(1912,3,12) end=datetime.dat ...

  9. 【蓝桥杯Python组】既约分数

    [蓝桥杯Python组]既约分数 [问题描述] 如果一个分数的分子和分母的最大公约数是 1,这个分数称为既约分数. 例如,34 , 52 , 18 , 71 都是既约分数. 请问,有多少个既约分数,分 ...

最新文章

  1. 微生物生态学相关期刊2022年实时影响因子
  2. Django REST framework的各种技巧——1.基础讲解
  3. .net 连接mysql的字符串_asp.net连接数据库字符串
  4. Spring boot拦截器登录检查
  5. 基于EasyNVR二次开发实现业务需求:用户、权限、设备管理
  6. 7-53 两个有序序列的中位数 (25 分)(思路加详解)用STL容器中的set容器的自动去重过不去
  7. 对象空指针_可选和对象:空指针救星!
  8. Spring @Configuration和FactoryBean
  9. 独家 | 一文读懂语音识别(附学习资源)
  10. 初学者学习Java 的软件有哪些?
  11. 计算机添加启动程序,电脑如何设置开机启动项
  12. 爬取分析雪球网实盘用户数据
  13. 内置函数--inline
  14. el表达式遍历list中的list_js 遍历EL表达式 list对象
  15. 【selection】 学习光标API并实现编辑区插入表情图片的功能
  16. java+ jsp+js 实现富文本编辑和上传图片功能
  17. c语言 PTA2020总决赛 L1-4 调和平均
  18. 7的倍数和末尾含7的数
  19. 【Exploit trick】针对 cred 结构的 cross cache 利用(corCTF 2022-cache-of-castaways)
  20. 七夕王者服务器维护什么时间结束,王者荣耀2020七夕活动什么时候结束?七夕情人节活动结束时间[多图]...

热门文章

  1. jQuery 插件---hotkeys快捷键(热键).
  2. WinAPI: waveOutGetPlaybackRate - 获取输出设备当前的播放速度设置(默认速度值的倍数)...
  3. 基于centos4.4的mg手工下载RPM包安装顺序记录
  4. V神:随着时间的推移,我对链外数据L2越来越悲观
  5. LAMP(apache/httpd+mysql+php)环境/架构 一键安装脚本
  6. Linux磁盘分区管理(转载)
  7. secureCRT常用设置
  8. 下载.Net 4源码
  9. Asp.net mvc 2 in action 笔记 -2 View Controller
  10. 关于Uri.Segments 属性的理解