Python基础数据类型方法补充
2024-10-06 20:59:29
str 补充的方法:
capitalize():首字母大写,其余变小写
s = 'liBAI'
s1 = s.capitalize()
print(s1)
# Libai
swapcase():大小写翻转
s = 'LiBai'
s1 = swapcase()
print(s1)
# lIbAI
title():每个单词首字母大写,其余变小写。以非字母隔开即为每个单词
s = 'libai& dufu@ sushi'
s1 = s.title()
print(s1)
# Libai& Dufu@ Sushi
center():居中,要指定总长度,还可设置填充物
s = 'libai'
s1 = s.center(10,'&') # 前面参数指定总长度,后面指定除字符串外的填充物,用引号引起来
print(s1)
# &&libai&&&
find():通过元素找索引,找到第一个即返回值,找不到返回-1
s = 'libai'
print(s.find('b'))
# 2
print(s.find('z'))
# -1
index():通过元素找索引,找到第一个即返回值,找不到就报错
s = 'libai'
print(s.index('z'))
# ValueError: substring not found
tuple 补充的方法:
元组中如果只有一个元素,并且没有逗号,例 ('a'),那么它不是元组,它与该元素的数据类型一致。
tu1 = ('s')
print(type(tu1))
# <class 'str'>
tu2 = ('s',)
print(type(tu2))
# <class 'tuple'>
index():通过元素找索引,找到第一个即返回值,找不到就报错
count():计算某元素出现的次数
s = 'libaidufubaijuyisushi'
print(s.count('i'))
# 5
list 补充的方法:
index():通过元素找索引,找到第一个即返回值,找不到就报错
sort():默认对数字从小到大排序,对原列表排序,不会产生新列表
l1 = [2,5,1,7,4,2,]
l1.sort()
print(l1)
# [1, 2, 2, 4, 5, 7] l1 = ['alex','yellow','xyz','blue']
l1.sort()
print(l1)
# ['alex', 'blue', 'xyz', 'yellow'] 按首字母排序
sort(reverse=True): 从大到小
l1 = [4,2,4,5,7,1,3]
l1.sort(reverse=True)
print(l1)
# [7, 5, 4, 4, 3, 2, 1] l1 = ['alex','yellow','xyz','blue']
l1.sort(reverse=True)
print(l1)
# ['yellow', 'xyz', 'blue', 'alex'] 按首字母排序
reverse():将原列表翻转
l1 = [1,'a',3,'x','y']
l1.reverse()
print(l1)
# ['y', 'x', 3, 'a', 1]
列表相加:将两个列表相加为一个新列表
l1 = ['a','b','c']
l2 = [1,2,3]
l3 = l1 + l2
print(l3)
# ['a', 'b', 'c', 1, 2, 3]
列表与整数相乘:将列表重复n次,产生一个新列表
l1 = ['a','b','c']
l2 = l1 * 3
print(l2)
# ['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']
列表的特性:
- 正向循环一个列表时,如果删除某个元素,那么这个元素后面所有元素都会向前进以为,它们的索引相比之前也会前进一位
- 循环一个列表时,最好不要改变列表的大小,这样会影响最终的结果
# 例:删除列表索引为奇数的元素
li = [11,22,33,44,55]
# 1.直接删除
del li[1::2]
# 2.倒序法删除元素,从末尾往首部删除,被删除元素之前的元素索引不会受到影响。
for i in range(len(li)-1,-1)
if i % 2 == 1:
li.pop(i)
print(li)
# 3.思维置换法
li = [11,22,33,44,55]
l2 = []
for i in range(len(li)):
if i % 2 == 0:
l2.append(li[i])
li = l2
print(li)
dict 补充的方法:
update():
字典的增:
dic = {'name':'太白','age': 18}
dic.update(sex='男',height=175)
print(dic)
# {'name': '太白','age': 18,'sex': '男','height': 175}
dic.update([(1,'a'),(2,'b'),(3,'c')])
print(dic)
# {'name':'太白','age': 18,1: 'a',2: 'b',3: 'c'}
# 字典的更新: 键已存在则修改,不存在则添加
dic1 = {"name":"jin","age":18,"sex":"male"}
dic2 = {"name":"alex","weight":75}
dic1.update(dic2)
print(dic1)
# {'name': 'alex', 'age': 18, 'sex': 'male', 'weight': 75}
print(dic2)
# {'name': 'alex', 'weight': 75}
- fromkeys():键为一个可迭代对象,值共用一个
# 例:
dic = dic.fromkeys('abc',[])
print(dic)
# {'a':[],'b':[],'c':[]}
# 一个值若被修改则所有的值都会修改
dic[a].append(666)
print(dic)
# {'a':[666],'b':[666],'c':[666]}
list 和 set之间的转换:
#list --> set
set(list) #set --> list
list(set)
所有数据类型都可以转换为bool值:
- 只有以下几个数据转换bool值为False:
'', 0, {}, (), [], set(), None
- 只有以下几个数据转换bool值为False:
最新文章
- 实现iOS图片等资源文件的热更新化(三):动态的资源文件夹
- SQLServer中用先进先出思想求成本价和平均成本单价
- 网站指纹识别工具——WhatWeb v0.4.7发布
- linux使用脚本自动连接数据库
- POJ 1160Post Office
- 第一章 基本的SQL语句 (SQL基础)
- 最近用unity5弄的一些渲染
- c语言中scanf()、printf()函数
- loj2977 巧克力 (斯坦纳树+随机化)
- 吴恩达机器学习笔记23-神经网络:表述--非线性假设(Non-linear Hypotheses)
- 基于Jmeter和Testlink的自动化测试框架研究与实施
- 全面深入介绍C++字符串:string类
- C# 调整控件的Z顺序
- Flask中的route
- android 将项目下的数据库拷贝到sd卡中
- StreamSets学习系列之StreamSets的Core Tarball方式安装(图文详解)
- 配置Windows server 2008文件同步[转]
- memcache 学习笔记
- Python并发编程-一个简单的多进程实例
- 【Leetcode】【Medium】Combination Sum