even

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

1、字符串的操作

字符串的拼接

str: str="今天周一" + "今天天气不错"

str1: str = "今天是%d号,今天天气%s"%(1, "不错")

str2: str = "今天是{n}号,今天天气{s}".format(n=1, s="不错")

字符串的截取

str: str ='博客园是一个面向开发者的知识分享社区,创立于2004年1月。'

# 获取索引为10的字符
print(str[10])

# 获取开头到第10个字, 这个也是含前不含后
print(str[0:10])

# 获取索引为10以后的字符
print(str[10:])

# 取最后一个字符
print(str[-1])

# 取最后三个字符
print(str[-3:])

# 获取倒数第3到倒数第1的字符
print(str[-3:-1])

# 对文本进行倒序, 在倒序的过程中,注意最后-1是表示步长为负数
print(str[::-1])

'''
str[0:3:-1]
这个取不到数,相当于从右往左进行数,
正常是小的数字在前面,大的在后面,
如果步长为负数,则需要大的在前面,小的在后面 如 str[3:0:-1] 就最到了是园客,第一位取不到
如果需要取到第一位就需要 str[2::-1], 即拿到倒序后的博的位置,然后从右边往左包含,即数值按正常的走,只是方向相反
'''
print(str[2::-1])

字符串的查找 

find(): 检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则返回-1。

rfind(): 和find()的功能相同,但查找的方向为右侧开始

index(): 检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则报异常

rindex(): 和index()的功能相同,但查找的方向为右侧开始

count(): 返回某个子串在字符串中出现的次数

str = "博客园是一个面向开发者的知识分享社区,创立于2004年1月。这是服务于开发者的网站"

# 使用find进行查找
print(str.find('开发者')) #在子串中查找开发者这个子串
print(str.find('开发者', 10)) # 表示从10的位置开始查找
print(str.find('开发者', 10, 100))  # 第二个参数与第三个参数表示开始的位置和结束的位置

# 使用index进行查找
print(str.index('开发者'))  # 在子串中查找开发者这个子串,如果查找不到将会报错
print(str.index('开发者', 10)) # 表示从10的位置开始查找
print(str.index('开发者', 10, 100))  # 第二个参数与第三个参数表示开始的位置和结束的位置

# 使用count进行数据统计
print(str.count('开发者'))  # 统计‘开发者’出现的次数
print(str.count('开发者', 10)) # 从指定位置开始统计‘开发者’
print(str.count('开发者', 10, 100)) # 从指定位置开始统计‘开发者’

字符串的修改

字符串.replace('旧字符串',’新字符串‘, num): 字符串替换,num表示替换的个数

字符串.split('连接字符串', num):字符串以指定连接符分割成列表, num表示分割的个数

连接符号.join(list): 把list列表用指定的连接字符串进行连接

str = "博客园是一个面向开发者的知识分享社区,创立于2004年1月。这是服务于开发者的网站"

print(str.replace('开发者', '码农', 1)) # 1表示只替换一次

print(str.split('开发者'))  # 表示进行全部分割
print(str.split('开发者', 1)) # 1表示只分割一次,后面的保留

list = ['', '今天', '开心么?']

print('---'.join(list,))

capitalize(): 将字符串第一个字符转换成大写

title(): 将字符串的每个单词转换成大写

lower(): 将字符串中的所有词转成小写

upper(): 将字符串中所有的词转成大写

str = "TOday IS gooD dAY"

# 会把str句子的首字母转成大写,其他的转成小写
print(str.capitalize())

# 把每个单词的首字母转成大写,其他的转成小写
print(str.title())

# 把所有的字符转成大写
print(str.upper())

# 把所有的字符转成小写
print(str.lower())

lstrip(): 删除字符串左侧空白字符 

rstrip(): 删除字符串右侧的空白字符

strip(): 删除字符串两侧的空白字符

ljust(length, 填充字符):让字符串左对齐, 填充字符默认是空格

rjust(length, 填充字符):让字符串右对齐, 填充字符默认是空格

center(length, 填充字符):让字符串居中对齐, 填充字符默认是空格

str = "        this is text            "

print(str.lstrip()) # 会把左边的空格删除

print(str.rstrip()) # 右侧的空格删除

print(str.strip()) # 左右的空格全部删除

str1 = 'this is test'

print(str1.ljust(20, '.'))  # 输出 this is test........

print(str1.rjust(20, '.')) # 输出 ........this is test

print(str1.center(20, '.')) # 输出 ....this is test....

 startswith(子串,开始位置下标,结束位置下标)

endswith(子串,开始位置下标,结束位置下标)

str="first: this is first, end"

# str是以first开头
print(str.startswith('first'))

# str.index('this')返回7, startswith第二个参数表示开始的位置
print(str.startswith('this', str.index('this')))

# str以end结尾
print(str.endswith('end'))

isalpha(): 字符串至少有一个字符,且所有的字符都是字母则返回True, 否则返回False

isdigit(): 字符串只包含数字则返回True,否则返回False

isalnum(): 字符串至少有一个字符,且所有的字符都是由字母与数字组成的则返回True, 否则返回False

isspace(): 字符串只包含空白则返回True, 否则返回False

print('test'.isalpha())  # 返回True
print('test1'.isalpha())  # 返回False

print('12'.isdigit())  # 返回True
print('12 '.isdigit())  # 有一个空格则返回False


print('test2'.isalnum()) #返回True

print(''.isspace())  # 空字符串返回False
print(' '.isspace())  # 返回True

 

 2、列表的操作

index(): 返回指定数据所在位置的下标

count(): 统计指定数据在当前列表中出现的次数

list = ['first', 'second', 'third', 'fourth', 'fifth', 'second']

print(list.index('third')) # 如果不存在则报错

print(list.count('second')) # 如果没有出现,则返回0

len(): 访问列表的长度,即列表中数据的个数

in: 用于判断指定数据是在list列表中

not in: 用于判断指定的数据不存在列表中

list = ['first', 'second', 'third', 'fourth', 'fifth', 'second']

print(len(list))  # 通用的获取长度方法
print(len('this is text'))  # 也可以用于获取文本的长度

print('first' in list)  # 返回True
print('abc' in list)  # 返回False
print('first' in 'this is first')  # 也可以用于判断文本 # 返回Ture
print('abc' in 'this is test')  # 返回False

print('abc' not in list)  # 返回True
print('first' not in list)  # 返回False
print('first' not in 'this is first')  # 返回False
print('abc' not in 'this is test')  # 返回True

注意: 以上len, in, not in三种方法是通用的常规方法

 列表数据的增删改查

append(): 在表列的末尾追加数据

extend(): 在列表的末尾追加数据,如果列表是一个列表,则把列表的数据逐一添加于列表中

insert(): 在列表的指定位置添加数据

list = ['second']

print(list.append('third'))  # append方法没有返回值,返回None
print(list) # 列表变成  ['second', 'third']

print(list.extend('fourth')) # extend方法也没有返回值, 返回None
print(list) # 列表变成 ['second', 'third', 'f', 'o', 'u', 'r', 't', 'h']
list.extend(['fourth', 'fifth'])
print(list)  # 列表变成 ['second', 'third', 'f', 'o', 'u', 'r', 't', 'h', 'fourth', 'fifth']

list.insert(0, 'first')
print(list) # 列表变成 ['first', 'second', 'third', 'f', 'o', 'u', 'r', 't', 'h', 'fourth', 'fifth']

 列表的删除数据

del 目标

pop(): 删除指定下标的数据(默认为最后一个), 并返回数据

remove(): 移除列表中某个数据的第一个匹配项

clear(): 清空列表

ls = ['first', 'second', 'third', 'fourth', 'fifth']

# del ls  # 表示删除整个列表
# print(ls)

del ls[4]  # 删除最后一项
print(ls)  # ['first', 'second', 'third', 'fourth']

print(ls.pop(1))  # 删除指定项第一项
print(ls)  # ['first', 'third', 'fourth']

print(ls.remove('third'))  # 没有返回值
print(ls)  # ['first', 'fourth']

print(ls.clear())  # 没有返回值
print(ls)  # []

 列表数据的修改

通过下标的方式进行修改

reverse(): 对列表进行倒序排列

sort(key=None, reverse=false): 对列表进行排列 key表示列表中有字典,需要按字典中的某个key值进行排序

copy(): 对原列表进行拷贝操作

ls = [8, 4, 5, 3, 2, 1, 6, 7]
new_ls = ls.copy()  # 对原数据进行复制

ls.reverse()
print(ls)  # [7, 6, 1, 2, 3, 5, 4, 8]

ls.sort(reverse=True)
print(ls)  # [8, 7, 6, 5, 4, 3, 2, 1]

ls.sort(reverse=False)
ls.sort()  # 默认 reverse=False
print(ls)  # [1, 2, 3, 4, 5, 6, 7, 8]

print(new_ls)  # [8, 4, 5, 3, 2, 1, 6, 7]

 列表的循环遍历

list = ['first', 'second', 'third', 'fourth', 'fifth', 'sixth']

# 方式一,通过while循环
i = 0
while (i < len(list)):
    print(list[i])
    i += 1

# 方式二,通过for循环

for per in list:
    print(per)


# 方式三,通过range
for per in range(0, len(list), 1):
    print(per, list[per])


# 方式四: 通过enumerate函数
for index, per in enumerate(list):
    print(index, per)

 

3、元组的操作

一个元组可以存储多个数据, 元组内的数据是不能更改的

元组的定义

tp = ('first', 'second')

# 如果只定义只有一项的元组
tp1 = ('first',)

tp2 = ('first')  # 这种写法则是字符串

print(type(tp))  # <class 'tuple'>

print(type(tp1))  # <class 'tuple'>

print(type(tp2))  # <class 'str'>

元组的常规操作

index(): 查找指定的数据,与list的index一样,如果不存在则报错

count(): 统计指定的字符在元组中出现的次数

len(): 返回元组的长度

tp = ('first', 'second')

print('first' in tp)  # True

print(tp.index('second')) # 1

print(tp.count('first')) # 1

print(len(tp)) # 2

注意:原则元组里的项是不能更改的,如果是字符串,数值,或者布尔类型的数据更改,那么会直接报错,但是如果是list类型的数据,那么是可以更改的,所以在开发的过程中,需要开发人员自觉

 

 

 

 

posted on 2023-04-14 07:30  even_blogs  阅读(37)  评论(0编辑  收藏  举报