Python基础数据类型方法补充
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:
Python基础数据类型方法补充的更多相关文章
- Python 入门之Python基础数据类型及其方法
Python 入门之Python基础数据类型 1. 整型:int 用于计算,用于比较 (在赋值的时候先执行等号右边的内容) 1.1 整数的加 a = 10 b = 20 print(a + b) 结果 ...
- 百万年薪python之路 -- 基础数据类型的补充
基础数据类型的补充 str: 首字母大写 name = 'alexdasx' new_name = name.capitalize() print(new_name) 通过元素查找下标 从左到右 只查 ...
- 基础数据类型汇总补充,python集合与深浅拷贝
一.基础数据类型汇总补充 1.查看str所有方法方式 2.列表:在循环中删除元素,易出错或报错(飘红) lis = [11,22,33,44,55] # for i in range(len(lis) ...
- Python——基础数据类型(补充)
1.基础数据类型汇总补充 (1)小数据池: 为了节省空间,数字和字符串有,其他的没有[了解] 数字:-5---256之间的数字共用一个内存地址 #(1)i1 = i2 id(i1) == id ...
- Python基础数据类型-列表(list)和元组(tuple)和集合(set)
Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...
- python基础数据类型考试题
Python基础数据类型考试题 考试时间:两个半小时 满分100分(80分以上包含80分及格) 一,基础题. 1,简述变量命名规范(3分) 2,字节和位的关系 ...
- Python基础数据类型题
Python基础数据类型 题考试时间:三个小时 满分100分(80分以上包含80分及格)1,简述变量命名规范(3分) 1.必须是字母,数字,下划线的任意组合. 2.不能是数字开头 3.不能是pytho ...
- Python基础数据类型之集合
Python基础数据类型之集合 集合(set)是Python基本数据类型之一,它具有天生的去重能力,即集合中的元素不能重复.集合也是无序的,且集合中的元素必须是不可变类型. 一.如何创建一个集合 #1 ...
- 老男孩Python==基础数据类型考试题
转载 # Python基础数据类型考试题 # 考试时间:两个半小时 满分100分(80分以上包含80分及格) # 一,基础题. # 1, 简述变量命名规范(3分) # 1.变量由字母.数字.下划线任意 ...
随机推荐
- SpringMVC-11-文件上传和下载
11. 文件上传和下载 准备工作 springMVC可以很好的支持文件上传,但是SpringMVC上下文默认没有装配MultipartResolver,因此默认情况下不能处理文件上传工作.如果想实 ...
- 3.GoolgeProtoBuffer序列化反序列化
- VUE开发(一)Spring Boot整合Vue并实现前后端贯穿调用
文章更新时间:2020/03/14 一.前言 作为一个后端程序员,前端知识多少还是要了解一些的,vue能很好的实现前后端分离,且更便于我们日常中的调试,还具备了轻量.低侵入性的特点,所以我觉得是很有必 ...
- 《Java从入门到失业》第四章:类和对象(4.6):类路径
4.6类路径 4.6.1什么是类路径 前面我们讨论过包,知道字节码文件最终都会被放到和包名相匹配的树状结构子目录中.例如上一节的例子: 其实类还有一种存放方式,就是可以归档到一个jar文件中,jar文 ...
- RabbitMQ与Kafka选型对比
背景 本公司是.Net项目,在.Net可选的MQ比较少,主要Kafka和RabbitMQ,RabbitMQ我也是使用多年了,最近的Kafka广告与流行度打得使我也是无法无视,因此也是花了点时间收集了资 ...
- java工作三年应具备的技能
LZ常常思考自己的未来,也从自己的思考中总结出了一些东西,作为第一部分来谈谈.LZ认为一名程序员应该有几个阶段(以下时间都算上实习期). 第一阶段:三年 我认为三年对于程序员来说是第一个门槛,这个阶段 ...
- RabbitMQ小记(四)
1.RabbitMQ管理 (1)权限管理 物理服务器和虚拟主机都各自有独立的权限管理,用户访问需要设置权限. 授权命令:rabbitmqctl set permissions [-p vhost] { ...
- heap是堆,stack是栈
1.栈是用来存放基本类型的变量和引用类型的变量,堆用来存放new出来的对象和数组. 2.栈的存取速度快,但不灵活.堆的存取速度慢,但是存取灵活,空间动态分配. 3.栈在建立在连续的物理位置上,而堆只需 ...
- Effective C++ 读书笔记 名博客
https://www.cnblogs.com/harlanc/tag/effective%20c%2B%2B/default.html?page=3
- 【小白学PyTorch】20 TF2的eager模式与求导
[新闻]:机器学习炼丹术的粉丝的人工智能交流群已经建立,目前有目标检测.医学图像.时间序列等多个目标为技术学习的分群和水群唠嗑的总群,欢迎大家加炼丹兄为好友,加入炼丹协会.微信:cyx64501661 ...