首页 > 其他分享 >字符串、列表、字典内置方法

字符串、列表、字典内置方法

时间:2024-05-14 09:00:03浏览次数:25  
标签:内置 name list 列表 num user print data 字典

字符串内置方法

【一】字符串的查找 字符串内部的字符

默认从左向右找,并返回当前字符在串中的索引坐标

【1】find方法

name = 'qwer ooehjkl'
print(name.find('e'))
默认只找一次,找到就不找了
# 2  第二个e不找了

可以指定寻找的区间, 参数不带''引号  从第三个到最后一个
print(name.find('j',3,-1))
# 9  

可以指定寻找的方向
默认从左向右
print(name.rfind('e'))
# 7  输出最后一个‘e’在字符串中的正向位置

查找不存在的字符不会报错,返回了 -1
print(name.rfind('x'))
# -1

【2】index方法

查找不存在的字符会报错
name = 'qwer ooehjkl'
print(name.index('x'))
报错

# 默认查找一次且从左向右
print(name.index('e'))
# 2

控制查找方向
print(name.rindex('e'))
# 7 输出最后一个‘e’在字符串中的正向位置

指定寻找区间,参数不带''引号
print(name.rindex('e',5,-1))
# 7

【二】计算当前字符在字符串中出现次数

计算次数
name = 'qwer ooehjkle'
print(name.count('e'))
# 3

左侧‘e’位置
print(name.find('e'))

右侧‘e’位置
print(name.rindex('e'))

中间‘e’位置
print(name.find('e',name.find('e')+1,name.find('e')))

3
2
12
7

【三】填充字符串

【1】填充两侧

name = 'qwer'
# (填充的长度【加上name长度填充后的长度】,填充字符)
# 填充偶数,,两侧一致
print(name.center(len(name)+2,'*'))
# *qwer*

#填充奇数,左少右多
print(name.center(len(name)+3,'*'))
# *qwer**

【2】填充右侧 L 右对齐

print(name.ljust(len(name)+3,'*'))
# qwer***

【3】填充左侧 R 左对齐

print(name.rjust(len(name)+3,'*'))
# ***qwer

【4】补充字符串,不够的查高度用0补齐

print(name.zfill(len(name)+3))
# 000qwer

【四】制表符

print(len('qwer'))
name = 'qw\ter'
print(name)
print(len(name))

4
qw	er
5

【五】首字母大写

sentence = 'my name is dream'

# 【1】一个句子的首字母大写
print(sentence.capitalize())

# 【2】一个句子中的每一个单词的首字母大写
print(sentence.title())

My name is dream
My Name Is Dream

【六】单词大小写翻转

name = 'Dream'
print(name.swapcase())

# dREAM

name = 'Dream123'
name_one = 'Dream'
name_two = 'Dream&'

# 字符串中既可以包含数字也可以包含字母,
print(name.isalnum())    
# True

# 字符串中只包含字母
print(name_one.isalpha())    
# False

# 字符串是否是合法标识符
print(name_two.isidentifier())  
# True

# 字符串是否是纯小写,
print(name.islower())    
# True

# 字符串是否是纯大写
print(name.isupper())   
# False

# 字符串是否全是空格
print(name.isspace())    
# False

# 字符串中的单词首字母是否都是大写
print(name.istitle())    
# False

列表的内置方法

name_list = ['qwer','dfcv']

【一】内置方法(必会)

【1】类型强制转换

#(1)字符串可以,并且转换后的列表是字符串的每一个字符
name = 'dream'
print(list(name))
['d', 'r', 'e', 'a', 'm']

# (2)元组可以,转换后的列表中的元素类型和转换之前一致
num_tuple = (1, 2, 3, 4)
print(list(num_tuple))
[1, 2, 3, 4]

# (3)字典可以,转换后的列表中存储的元素是当前字典的键
name_dict = {'username': 'dream', 'password': '521'}
print(list(name_dict))
['username', 'password']

# (4)集合可以,并且是基于集合去重特性后转换出,如果会继承集合乱序的特性
num_set = {1, 2, 3, 6, 6, 6, 6}
print(list(num_set))
[1, 2, 3, 6]

# (5)range关键字也可以转换为列表,并且元素是指定区间内的每一个元素
print(list(range(0, 5)))
[0, 1, 2, 3, 4]

# 数字不可以 整数和浮点数
print(list(1))
报错
# 布尔也不可以
print(list(True))

【2】支持索引取值

大于总长度报错

num_list = [1,3,5,7,9]
print(num_list[10])
报错

【3】切片

num_list = [1,3,5,7,9]
print(num_list[0:5:2])
# [1, 5, 9]
负索引取时,第一个起始位置要从右往左取

print(num_list[-1:0:-2])
结束位置的0代表正向取时的0号位

print(num_list[-1:-4:-2])

【4】计算列表内的元素个数 len

num_list = [1,3,5,7,9]
print(len(num_list))
# 5

【5】成员运算

num_list = ['0', 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(1 in num_list)
print(0 in num_list)

True
False

【6】列表操作 增删查改

#(1)增加
num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# append ;
# 默认追加到最后 没有返回值 影响到的是原来的列表
num_list.append(999)
print(num_list)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 999]

# extend
# 可以追加多个元素 可迭代
num_list.extend([11, 22])
num_list.extend((22, 3))
# 字符串虽然可以迭代但是不行
# num_list.extend('dream')
# print(num_list)

# insert
# 可以按照索引位置插入元素
# 参数(索引位置,元素)
num_list.insert(0, 666)
print(num_list)
[666, 1, 2, 3, 4, 5, 6, 7, 8, 9, 999, 11, 22, 22, 3]

# (2)删除
# del 列表[索引]
del num_list[0]
# pop() ;弹出
# 可以接收返回值,并且返回值就是你删除的哪个元素
如果不写参数,则默认弹出最后一位元素,可以用变量名接受
print(num_list.pop())
3

# 可以放索引位置
print(num_list.pop(0))
1

# remove : 必须放定值 没有返回值 只能remove列表中存在的值
num_list.remove(2)
num_list.remove(999)
print(num_list)
[3, 4, 5, 6, 7, 8, 9, 11, 22, 22]

【7】颠倒元素

# 列表.reverse(): 将列表中所有元素翻转

num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 'dream']
print(num_list.reverse())
print(num_list)

None
['dream', 9, 8, 7, 6, 5, 4, 3, 2, 1]

# list(reversed(列表))
要强转list才能翻转

【8】对列表中的元素进行排序

# sort 没有返回值  将原来的列表进行排序
影响的是原来的列表
num_list = [1, 4, 8, 7, 9, 6]
print(num_list.sort())
None

print(num_list)
[1, 4, 6, 7, 8, 9]

# # 将排序后的结果翻转
print(num_list.sort(reverse=True))
None

print(num_list)
[9, 8, 7, 6, 4, 1]

# sorted函数 : (列表,翻转) 有返回值  返回值就是排序后的列表
不影响原本的列表
# 参数  reverse=True 将排序后的结果翻转
num_new = sorted(num_list, reverse=True)
print(num_new)
[9, 8, 7, 6, 4, 1]

print(num_list)
[1, 4, 8, 7, 9, 6]

【9】遍历循环列表

# for 直接遍历列表 遍历索引range
# while 定义起始值 < 列表最大长度 按照索引取值

【10】列表的步长

num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 从头取到尾但是步长为2
print(num_list[::2])
[1, 3, 5, 7, 9]

# 从头取到尾步长为2但是是倒着取
print(num_list[::-2])
[9, 7, 5, 3, 1]

# 列表翻转
print(num_list[::-1])
[9, 8, 7, 6, 5, 4, 3, 2, 1]

字典的内置方法

【一】字典

字典中的数据都是kv键值对

不支持索引取值,只能支持键值对取值

【二】内置方法

user_data = {'username': "wang", 'password': '123'}

【1】查

(1)【键】:若是键不存在,则查找报错
print(user_data['username'])
wang

(2).get(键) : 如果这个键不存在 不会报错并且返回的是 None
print(user_data.get('password'))
print(user_data.get('age'))
123
None

【2】增

(1)字典[键]=值
特点: 这种方式添加的键值对。字典中若存在该键对应的值,就会覆盖掉,如果不存在,会将键值对新增进去
user_data['age'] = 18
# {'username': 'wang', 'password': '123', 'age': 18}

user_data['username'] = 'opp'
# {'username': 'opp', 'password': '123', 'age': 18}

user_data['password'] = 666
# {'username': 'opp', 'password': 666, 'age': 18}

print(user_data)

(2)setdefault()
有返回值,是加进去的值,不是键
print(user_data.setdefault('hobby', 'music'))
print(user_data)
# music  返回值
# {'username': 'opp', 'password': 666, 'age': 18, 'hobby': 'music'}

(3)update方法
第一种方案:放一个新字典
data_user = {
    'addr' : 'shanghai',
    'username' : 'du'
}
user_data.update(data_user)
# {'username': 'du', 'password': 666, 'age': 18, 'hobby': 'music', 'addr': 'shanghai'}

第二种方案:直接放关键字 = 值
user_data.update(age=100)
#{'username': 'du', 'password': 666, 'age': 100, 'hobby': 'music', 'addr': 'shanghai'}

【3】删

(1)del 删除字典[键]
del user_data['username']
# {'password': 666, 'age': 100, 'hobby': 'music', 'addr': 'shanghai'}

(2)pop(键):将字典中指定的键对应的值弹出
print(user_data.pop('addr'))
print(user_data)
# shanghai
# {'password': 666, 'age': 100, 'hobby': 'music'}

(3) clear:清空字典
print(user_data.clear())
# None 无返回值
# {}

(4)popitem:弹出键值对 默认弹出最后的
print(user_data.popitem())
print(user_data)     
# ('hobby', 'music')
# {'password': 666, 'age': 100}

【4】计算元素个数

print(len(user_data))
# 2

【5】成员运算

 默认运算的是键

【6】键对

print(user_data.keys())
# dict_keys(['password', 'age'])

成员变量
print('password' in user_data.keys())
# True

【7】值对

print(user_data.values())
print('666' in user_data.values())
# dict_values([666, 100])
# False

【8】键值对

print(user_data.items())
# print('666' in user_data.values())
for key, value in user_data.items():
    print(key, value)
# dict_items([('password', 666), ('age', 100)])
# password 666
# age 100

【9】遍历循环

for key in user: 拿到的值就是键

标签:内置,name,list,列表,num,user,print,data,字典
From: https://www.cnblogs.com/yi416/p/18190493

相关文章

  • 【django学习-22】列表界面搜索功能
    1.需求:靓号列表界面,根据手机号码模糊匹配2.前端传search_data<divstyle="float:right;width:300px;"><formmethod="get"><divclass="input-group"><inputtype="text"name="q"clas......
  • 夜莺监控(Nightingale)上线内置指标功能
    Prometheus生态里如果要查询数据,需要编写promql,对于普通用户来说,门槛有点高。通常有两种解法,一个是通过AI的手段做翻译,你用大白话跟AI提出你的诉求,让AI帮你写promql,另一种是平台里内置现成的promql,覆盖常用场景开箱即用。夜莺监控(Nightingale)最近上线了内置指标功能,可以......
  • ABC353E字典树处理最长公共前缀
    https://atcoder.jp/contests/abc353/tasks/abc353_e其实就是字典树板子题。似乎遇到最长公共前缀,就该想到字典树。依次加入每个字符串:维护一个数组siz来统计在当前串之前的串在对应点的出现次数。手模一下字典树的建树过程,显然如果当前串\(S_i\)能跑到一个曾经串\(S_......
  • 查找 - 线性表 & 散列表 & 树
    线性表的查找顺序查找技巧:设置哨兵,放在下标为0的位置。intSearch_Seq(SSTableST,KeyTypekey){ST.R[0].key=key;for(inti=ST.length;ST.R[i].key!=key;i--);returni;}算法分析适用于顺序结构和链式结构,不要求记录按关键字有序。平均查找长度......
  • Go语言:内置函数
    什么是Go语言的内置函数呢?顾名思义,就是Go语言为了方便我们编程,提供了一些不需要导包就可以直接使用的函数,就叫内置函数了。常用的内置函数有哪些呢?1、len函数统计字符串的长度或者数组的长度等,统计字符串的长度时,是按照字节来统计的(Go语言中,一个汉字占3个字节)。2、new函数分......
  • Python进阶之内置方法
    【一】内置方法引入__init__ :初始化对象时触发__del__ :删除类时触发__new__ :构造类时触发__str__ :str函数或者print函数触发__repr__ :repr或者交互式解释器触发__doc__ :打印类内的注释内容__enter__ :打开文档触发__exit__ :关闭文档触发__getattr__:访问不存在的属......
  • Python-有序字典OrderedDict练习题
    问题:读取键盘输入结果,创建n个键值对,将其排序后放入有序字典并输出。详细描述:根据提示,实现函数功能:读取n(n>0)行输入,以每一行的数据为key,行号(从0开始)为value,建立n对键值对,然后将他们按照key排序后,放入一个有序字典,最后输出这个有序字典。importcollectionsdefFunc():pairs......
  • for 、range关键字、内置方法
    【一】while循环补充continue:结束当前当次循环break:结束整个循环【二】for循环遍历可迭代类型(能索引取值的也属于可迭代类型)字符串name="dream"forainname:print(a)dream列表name=[1,2,3,4]forainname:print(a)1234元组name......
  • Python高级之常用的内置函数
    【一】什么是内置函数内置函数就是Python给你提供的,拿来直接用的函数目前共有68个内置函数Built-inFunctionsAabs()aiter()all()any()anext()ascii()Bbin()bool()breakpoint()bytearray()bytes()Ccallable()chr()classmethod()compile()complex()Ddelatt......
  • 工作流功能点列表
    支持功能功能描述完成程度父子流程主流程节点设置子流程,子流程节点会自动进入子流程,子流程结束后,主流程节点会自动跳转。✅顺序会签指同一个审批节点设置多个人,如A、B、C三人,三人按顺序依次收到待办,即A先审批,A提交后B才能审批,需全部同意之后,审批才可到下一审批......