7月30日所学Python基础

本文详细介绍了Python中字符串的常用操作,如strip、lstrip、rstrip、count、capitalize等,以及字符串的查找、替换、格式化和分隔方法。同时,探讨了序列的概念,包括列表、元组、字符串等,讲解了它们的索引、切片、拼接、查找、统计和排序等操作。此外,还提到了字典和集合的相关方法,以及如何利用列表推导式和生成器进行高效编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字符与序列

 字符串常用操作

name.strip()  去掉空格和换行符

name.strip('xx')  去掉某个字符串

name.lstrip()  去掉左边的空格和字符串

name.rstrip()  去掉右边的空格和字符串

name.count('x')  查找某个字符在字符串里出现的次数

name.capitalize()  首字母大写

name.center(n,-)  把字符串放中间,两边用-补齐

name.find('x')  找到这个字符后返回下标,多个时返回第一个;不存在的返回-1

name.index('x')  找到这个字符后返回下标,多个时返回第一个;不存在的报错

name.replace(oldstr,newstr)  字符串替换

name.format()  字符串格式化

name.format_map(d)  字符串格式化,传递进去的是一个字典

S.stratswith(prefix)  是否以prefix开头

S.endswith(suffix)  是否以suffix结尾

S.isalnum()  是否全是字母数字,并至少有一个字符

S.isalpha()  是否全是字母,并至少有一个字符

S.isdigit()  是否全是数字,并至少有一个字符

S.isspace()  是否全是空白字符,并至少有一个字符

S.islower()  S中的字母是否全是小写

S.isupper()  S中的字母是否全是大写

S.istitle()  S是否首字母大写

name.split()  默认按照空格分隔

name.split(',')  按照逗号分隔

','.jion(slit)  用逗号连接slit,变成一个字符串,slit可以是字符、列表、字典(可迭代对象)

计算字符串的长度

len(s) 

 注:一个中文字符算两个字符

字母大小写的转换

s.upper()  转为大写

s.lower()  转为小写

s.title()  所有单词首字母大写

s.capitalize()  开头首字母大写

 字符串的分隔

当使用以冒号分隔的字符串时,Python返回一个新的对象,结果包含了以这对偏移标识的连续的内容,包含下边界,不包含上边界

split()  函数

str.split(str="",num=string.count(str))

参数str 为分隔符   num为分隔的次数

 字符串的拼接

字符串拼接就是将多个字符串合并成一个字符串。

  可分为三类:

  • 格式化类: %   format()   面向对象模板拼接
  • 拼接类:  +   ()   join()
  • 插值类: f-string

 拼接长度不超过20时,选用+号方式;当需要处理字符串列表等序列结构时,采用join方式;对于长度超过20的情况,高版本选用f-string方式,低版本时看情况使用format()或join()方式

1.来自C语言的%拼接方式

print('%s %s'%('Hello','world'))

%s 是一个占位符,他仅代表一段字符串,并不是拼接的实际内容

占位符还有%d(代表一个整数)  %f(代表一个浮点数)  %x(代表一个十六进制数)

%占位符既是这种拼接方式的特点,同时也是限制因素,因为每种占位符都有特定的意义,实际使用很麻烦

2.format()

s1='Hello {} ! My name is {}'.format('World','python') 

s2='Hello {0} ! My name is {1}'.format('World','python')

3.类似元组方式

s_like_tuple=('Hello' ' ' 'world') 

4.面向对象模板拼接(略)

5.常用的+号方式

str1='hello'

str2='world'

print(str1+str2) 

当拼接的最终字符串长度不超过20时,+号方式会比后面提到的join()等方式要快得多

6.join()拼接方式

超过二十字符,最好用这种拼接方式

str1=['hello','world']

str2=' '.joint(str1)

str3=' '.joint(str1) 

比较适合于连接序列对象中的元素,并设置统一的分隔符,在做拼接时,元素若不是字符串,需要先转换一下     

join() 拼接方式的缺点是, 不适合进行零散片段的、不属于序列或集合的元素的拼接

7.f-string方式

a='world'

b='python'

words=f'Hello {name}.My name is {myname}.'

 字符串查找

str.find(str,beg=0,end=len(string))

str表示指定检索的字符串;

beg表示开始索引,默认为0;

end表示结束索引,默认为字符串的长度。 

返回的结果为子串所在位置的最左端索引,如果没有找到,则返回-1

字符串替换 

 str.repalce(old,new[max])

参数old指的是将被替换的子字符串;

参数new是一个新字符串,用于替换old子字符串

参数max为可选字符串,替换不超过max次

 统计字符出现次数

count()方法用于统计字符串里某个字符出现的次数,可选参数是在字符串中进行搜索的开始与结束位置,返回结果是子字符串在字符串中出现的次数

str.count(sub,start=0,end=len(string))

参数sub指的是搜索的子字符串

参数start指的是搜索的开始位置

参数end指的是搜索的结束位置

序列

列表    元组    字符串    Unicode字符串     buffer对象    xrange对象

索引

序列中的所有元素都是有编号的,从0开始递增

切片

通过冒号相隔的两个索引来实现分片

还可使用步长

序列相加

将序列首尾相接

序列乘法

检查某个元素是否是序列的成员

in 运算符

计算序列的长度、最大值、最小值

len()

max()

min()

列表

为了创建一个列表,只需要把逗号分隔的的不同数据项使用方括号括起来即可

list=['x','y','z']

lst.append(x)  将元素x添加至列表lst的尾部

lst.extend(L)  列表中的所有元素添加至列表lst的尾部

lst.insert(index,x)  在列表lst中,在指定位置index处添加元素x,该位置后面的所有元素后移

lst.remove(x)  在列表中删除首次出现的指定元素,将该元素之后的所有元素前移

lst.pop(index)  删除并返回列表lst中下标为index的元素

lst.clear()  删除列表中的所有元素,但保留列表对象

lst.index(x)  返回列表中第一个值为x的元素的下标,若不存在值为x的元素,则抛出异常

lst.count(x)  返回指定元素x在列表中出现的次数

lst.reverse()  对列表中的所有元素进行逆序操作

lst.sort(key=none,reverse=false)  对列表中的元素进行排序,key用来指定排序依据,            reverse决定升序(false)还是降序(true)

lst.copy()  返回列表的浅复制

append()  用于向列表尾部追加一个元素

insert()  用于向列表的任意指定位置插入一个元素

extend()  用于将另一个列表中的元素追加至当前列表的尾部

pop()   用于删除并返回指定的元素

remove()  用于删除列表中第一个元素值与指定值相等的元素

clear()  用于清空列表

del()   删除列表中指定位置的元素

count()  用于返回列表中指定元素出现的次数

index()  用于返回指定元素在列表中首次出现的位置,如果不存在,则抛出异常

in()  测试列表中是否存在某个元素

sum()  用于返回数值型列表中所有元素之和

len()  用于返回列表中元素的个数

zip()  用于将多个列表中的元素重新组合为元组并返回包括这些元组的zip对象

enumerate()  用于返回包含若干下标和值的迭代对象

列表推导式

[表达式  for  变量  in  序列或迭代对象]

 元组

元组只需要在圆括号中添加元素,并使用逗号隔开即可

只有一个元素时,需要在后面加上逗号

元组是只读列表,数据可以被查询,不能被修改

生成器

for item in gen:

 定义一个函数,这个函数是一步步执行的,并能保存状态,这就是迭代器

 字典

 字典是一种可变容器模型, 并且可存储任意类型对象,如字符串、数字、元组等其他容器模型

字典由键和对应值成对组成

cmp(dict1,dict2)  比较两个字典元素

len(dict)   计算字典元素的个数,即建的总数

str(dict)  输出字典可打印的字符串表示形式

type(variable)  返回输入的变量类型,如果变量是字典,就返回字典类型

dict.clear()  删除字典内所有元素

dict.copy()  返回字典的签复制

dict.fromkeys(seq)   创建一个新字典,以序列seq中的元素作为字典的键,val为字典所有键对应的初始值

dict.get(key,default=None)   返回指定键的值,如果值不在字典中,就返回default值

dict.has_key(key)   如果键在字典中,返回true,否则返回false

dict.items()   以列表形式返回可遍历的键值元组数组

dict.keys()   以列表形式返回一个字典中所有的键

dict.update(dict2)   把字典dict2的键值对更新到dict中

dict.values()  以列表形式返回字典中的所有值

集合

集合是一种无需的不重复序列,可用花括号{}或set() 函数创建集合

创建一个空集合必须使用set()而不是{}

add()   为集合添加元素

clear()  移除集合中的所有元素

copy()   拷贝集合

difference()  返回多个集合的差集

difference_update()   移除集合中的元素,该元素在指定的集合中也存在

discard()   删除集合中指定的元素

intersection()   返回集合的交集

intersection_update()   删除集合中的元素,该元素在指定的集合中不存在

isdisjoint()   判断两个集合是否包含相同的元素,如果包含,返回true,否则返回false

issubset()   判断指定集合是否为该方法的参数集合的子集

issuperset()   判断该方法的参数集合是否为指定集合的子集

pop()   随机移除元素

remove()   移除指定元素

symmetric_difference()   返回两个集合中不重复元素的集合

symmetric_difference_update()   移除当前集合中与另一个指定集合中相同的元素,并将另一个指定集合中不同的元素插入当前集合中

union()   返回两个集合的并集

update()   给集合更新元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值