蓝桥杯中必知的python基础知识

重点说一下,蓝桥杯python组中,题目一般都会要求写输入输出,而像LeetCode中的算法练习,更适用于找工作时用,算法题主要按照算法思想编写函数体,不考虑输入的变量,只考虑函数的返回值。
下面将介绍关于蓝桥杯python组的一些基础知识。

1、列表转化为字符串

比如有列表ls存储了几个字符串,要将其转化为一整个字符的格式。
" ".join()方法的使用

ls = ['1', '2', '3', '4']
str1 = "".join(ls)
print(str1)
#结果为:'1234'

上面程序就是将列表中的多个字符转换成了一个字符串。
注意," ".join()方法下面的用法

str2 = ['1', '2', '3', '4']
print(":".join(str2)) #结果为:'1:2:3:4'
######要记住列表转字符串不是简单的str(),就可以完成的。#########

2、字符串可以直接作为迭代对象

str2 = "love"
for item in str2:
	print(item)
#结果为:l
		 o
         v
         e

3、不可变类型

不可变类型有:

  • 数字
  • 字符串
  • 元组
  • 不可变的几何
    如果要修改字符串中的某个字符,首先要先转化为列表类型,通过列表修改,最后再转化为字符串的格式,如下所示
#要将str3字符串中的9变成4,使字符串最终变成"12345"
str3 = "12395"
ls2 = list(str3) #ls2为['1', '2', '3', '9', '5']
ls2[3] = '4'  #此时ls2为['1', '2', '3', '9', '5']
str3 = "".join(ls2)
print(str3)
#结果为:'12345'

上面的过程过于复杂可以使用.replace()方法,如下所示。

#要将str3字符串中的9变成4,使字符串最终变成"12345"
str3 = "12395"
str3 = str3.replace("9","4")
print(str3)
#结果为:'12345'

str3 = "12395999"
str3 = str3.replace("9","4")
print(str3) 
#结果为:"12345444"

所以**.replace()方法是将原字符串中所有字符"9"都变成了字符"4"**。

4、接收由空格分开的多个数据

在算法题中,接收用空格分割的数据很常见,使用.split()方法。

ls = input().split()

.split()方法括号里填写的是分隔符,不填默认是就是空格,如果输入1 2 3
ls就默认等于[1, 2, 3],接下来就可以随意使用了。
并且可以用.split()方法实现将字符串转化为列表类型,如下所示。

#简单的字符串可以理解为将,字符串转换成列表。。但其是字符串的分割功能
#字符串.split(" ")通过" "中的空格来分割,返回一个字符串列表
#因为字符串“1234”中没有空格,所以分割后的返回的字符串列表是['1234']
str1 = '1234'
current = str1.split(" ")
print(current)  #结果为:['1234']

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

比如有列表ls5,其里面的元素全部都是字符型,而你需要将这些字符串全部转化为int型,这个时候可以写一个循环来实现,但是在python中有更加简洁的方法,是使用.map()方法。

#如果输入1 2,
ls5 = input().split() #ls5为['1', '2']
ls6 = list(map(int,ls5)) 
print(ls6)
#结果为:[1, 2]

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

  • 3
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值