pythion 第二弹
################################第二节################################################
python中数据类型的常见的方法
第一个数据类型 字符串 str
字符串里面有很多的功能,叫方法.只要是字符串,就可以用里面的方法,方法有很多,不用刻意的去记住,因为你以后会常
用到.另外如果你用了一个好的编辑器的话,他会有提示的.
介绍一下几个
1.capitalize 首字母大写,而且会吧不是首字母的大写的字母给变成小写
liu = 'handSome'
print(liu.capitalize)
>>> Handsome
2.casefold 这个比较牛逼,把大写变为小写,但是他可以变化非字母的比如德语的大小写,如果是中文,除外
3.lower 这个和上面的一样,变为小写,但是只能转换英文字母的
4.upper 这个是变成大写的
5.center 字符串居中 这个可以接受两个参数,一个是多少,一个是字符分隔,(至少一个参数)
liu = 'liukang'
print(liu.center(20,"*"))
>>> ******liukang*******
##20代表输出的长度等于20,'*'代表是以什么填充,如果不写,默认是空格
6.count 统计出现的次数,可以接受三个参参数,一个是要查找的字符(必须有),
另外两个是从哪里开始查,到哪里结束(可以省略)
liu = 'llliukkkaang'
print('l',3)
>>>> 0
7.endswith 这个是查看是否已制定的字符串结尾,返回的是bool值 ##startswith 这个是查开头的
liu='liukang'
print(liu.endswith('s'))
>>> False
8.expandtabs 这个是转换的,就是把字符串里面的'\t'转换成你想要的空格数,默认是八个空格
liu='liu\tkang'
print(liu.expandtabs(3))
>>>liu kang
9.find 这个是查找字符串的位置的找到就返回位置所在,找不到就返回-1.这个比index好些.index也是查找的,
但是找不到会报错.find接受三个值,一个是字符串,另外两个是开始和结束的位置.
还有一个方法,rfind,这个从右边开始查找的.
>>> liu='liukang'
>>> print(liu.find('l'))
0
>>> print(liu.find('3'))
-1
10.index 查找字符串的位置,找不到的话会报"ValueError: substring not found"
这个接受三个值,一个是字符串,另外两个是开始和结束的位置
rindex:一样,不过是从右边开始.
11.format 这个也是字符串的格式化,一前用的是%s,如果用它的话,要在字符串里面这么写
liu= 'name:{name},sex:{sex}'
或者:
liu = 'name:{0},sex:{1}'
format对应的写法分别是:
1. >>> liu='name:{name},sex:{sex}'
>>> print(liu.format(name='liukang',sex='man'))
name:liukang,sex:man
2. >>> liu='name:{0},sex:{1}'
>>> print(liu.format('liukang','man'))
name:liukang,sex:man
12.format_map 这个也是字符串的格式化,不过传入的是个字典,而且字符串里不能用数字来表示 了.
>>> liu = 'name:{name},sex:{sex}'
>>> print(liu.format_map({'name':'liukang','sex':'man'}))
name:liukang,sex:man
13.isalnum 判断字符串里有没有空格,有的话是False,没有事True
liu = 'liu'
print(liu.isalnum())
True
14.isalpha 这个是查看字符串是否全为字母,是的话为True,否则为False
liu='w12'
print(liu.isalpha())
False
15.isdecimal 这个就是查看字符串是不是数字 返回的是bool值,是的话为True,这个最常用了.下面两个,但当了解
16.isdigit 这个也是可以识别是不是数字,但是他还包含了这种的'②'.
17.isnumeric 这个也是识别数字的,但是她可以识别 这几种'123','二','②'
18.isspace 这个是查看字符串是不是全是空白字符,如果是返回True,
19.istitle 这个是查看单词的首字母是不是大写的.是的话为True.
20.isupper 这个是查看字符串是不是都是大写的.是的话返回True.
21. join 这个是星级应用 ,这个是用来链接字符串的. 这个很省内存
>>> liu='liukang'
>>> a='_'.join(liu)
>>> print(a)
l_i_u_k_a_n_g
22.ljust 这个对字符串想做边填充,可以接受两个参数,一个是宽度(必须),另一个是符号(默认为空格)
#######这个填充的是安照你填充字符的左右为基准.########
>>> liu='liukang'
>>> print(liu.ljust(20,"*"))
liukang*************
23.rjust 这个的功用和上面一样,不在赘述.
24.maketrans + translate 这个是对应关系+翻译,
>>> liu='123kang'
>>> a= str.maketrans('123','liu') #这个是先定义好对应的关系
>>> print(liu.translate(a)) #这个是根据对应的关系进行转变
liukang
25.partition 这个和split功能一样,也是分区,但是他会保留你分区的依据.
>>> liu='123|kang'
>>> print(liu.partition('|'))
('123', '|', 'kang')
rpartition: 这个是从右边开始的.不在赘述
27.replace 这个是替换.
>>> liu='123|kang'
>>> print(liu.replace('123','liu'))
liu|kang
28.split 这个是分割返回一个列表,接受两个参数,一个是分割依据,一个是分割几次,(可以都不写,)
liu='liu|kang'
print(liu.split('|'))
###rsplit 这个代表从右边开始切割,用法同上
29.strip 脱去两边的空格,和换行符. ###这个还有其他衍生的 rstrip,lstrip 用法同strip
liu=' liu kang\n'
print(liu.strip())
liu kang
30.swapcase 这个是大小写交换
31.title 这个是吧每个英文字母的开头变为大写
####################################int 整数####################################
我感觉这个没啥好说的,看了看里面的用法,基本上不常用,所以就不在解释了,
int是不可变类型
####################################bool 布尔值####################################
True
False 空/0
####################################list 列表####################################
liu=[11,22,33,44,55,]
1.append 追加,
liu=[]
liu.append('liu')
2. expand 追加一个列表
liu.extend(['liu','kang','lisi'])
3.clear 清空一个列表
liu.clear()
4.copy 浅拷贝
new = liu.copy()
print(new)
5.count 统计某个元素的个数
print(liu.count(11)) #统计11出现的次数
6.index 这个是索引位置的接受三个值, 一个是所以的value,另外两个是开始和结束的位置(可以不写)
print(liu.index(11))
7.insert 插入
接受两个值,一个是索引的位置,一个是值,
liu.insert(0,'liukang')
print(liu)
8.pop 删除掉里面的元素,并且可以获取到删除的元素,里面写索引
a=liu.pop(0)
print(liu)
9.remove 删除掉里面元素,但是获取不到值
a=liu.remove('11')
print(a)
>>>None
10.reverse 颠倒列表
print(liu.reverse())
11.sort 排序
print(liu.sort())
其他附带的内容 range enumerate
range 在3里发生了改变,他不在生产一个列表,而是一个范围.减少了内存的占用
want = ['liu','kang','lisi','zhangsan']
for i in range(len(want)):
print(i+1,want[i])
enumerate 可以可以生成一个带序号的列表,底下的1的意思是说从哪个数字开始
例子:
want = ['liu','kang','lisi','zhangsan']
for i in enumerate(want,1):
print(i)
################################元组 tuple################################################
元组是个不可变的类型,一旦创建好,就定型了.
他和列表类似,只是'型似'
元组:
user_tuple = ('alex','eric','seven','alex') #不可变
列表:
user_list = ['alex','eric','seven','alex'] #可变
####在创建列表的时候建议这么创建:
user_tuple2=('sever,') ##如果不加逗号的话,会认为是字符串,
方法:
1. count 统计里面元素的个数
user_tuple.count('alex')
2. index 查找里面的元素的索引位置.如果有多个,只返回第一个,如果没有回报错
user_tuple.index('alex')
################################字典 dict################################################
字典就是个键值对,键必须是可哈希的.生么是可哈希的呢,简单来说就是不可变的东西,
如果一个对象是可变的,如:列表,字典,集合, 那么他就不可以进行哈希.
dic = {'k1':'v1','k2':'v2','k3':'v3'}
1.clear 清空字典
dic.clear()
2.copy 拷贝字典(浅拷贝)
a = dic.copy
3.get 根据指定的key 获取value,可以接受两个参数,一个是key,另一个是指定的value,当这个key有值的时候,
返回字典里的value,否则返回第二个参数
dic.get('k1','liukang')
dic.get('k','liukang')
4.pop 删除对应的值,并且获取到,可以接受两个值,一个是有key的情况,一个是没有key的情况
>>> dic={'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
>>> a = dic.pop('k1')
>>> a
'v1'
>>> a = dic.pop('k','liukang')
>>> a
'liukang'
5.popitem 随机删除一个key,并且获取到删除的键值,如果删除没了的话,会报keyError的错误.
>>> dic={'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
>>> a = dic.popitem()
>>> a
('k3', 'v3')
6.setdefault 增加,如果有的话不改变,没有的进行添加.
>>> dic
{'k1': 'v1', 'k2': 'v2'}
>>> dic.setdefault('k1','2')
'v1'
>>> dic
{'k1': 'v1', 'k2': 'v2'}
>>> dic.setdefault('k3','2')
'2'
>>> dic
{'k1': 'v1', 'k2': 'v2', 'k3': '2'}
7.update fromkeys: 批量添加或者修改,
dic['k1']='change' ##修改
dic.update({'k3':'v3','k1':'v24'}) #批量添加
dic = dict.fromkeys(['k1','k2','k3'],[1,]) #批量添加同一个值,但是如果修改其中任意
一个key的话,其他的key的value也会发生改变
################################集合 set################################################
不可重复,但是是个可变的集合
s1 = {"alex",'eric','tony',}
s2 = {"alex",'eric','tony','jack'}
1.difference 比较里两个集合里的东西
>>> a=s2.difference(s1) ##s2中存在,s1中不存在的
>>> a
{'刘一'}
4.intersection 交集
s1.intersection(s2)
5.union 并集
s1.union(s2)
6.discard 移除
s1 = {"alex",'eric','tony','李泉','李泉11'}
s1.discard('alex')
7.update 批量添加
s1.update({'alex','123123','fff'})
以上就是pyhton中用到的数据类型的方法,不尽之处还请包涵.
pythion 第二弹的更多相关文章
- 浅谈Hybrid技术的设计与实现第二弹
前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术的设计与实现第三弹——落地篇 接上文:浅谈Hybrid技术的设计与实现(阅读本文前,建议阅读这个先) ...
- 前端学习 第二弹: JavaScript中的一些函数与对象(1)
前端学习 第二弹: JavaScript中的一些函数与对象(1) 1.apply与call函数 每个函数都包含两个非继承而来的方法:apply()和call(). 他们的用途相同,都是在特定的作用域中 ...
- 青瓷引擎之纯JavaScript打造HTML5游戏第二弹——《跳跃的方块》Part 10(排行榜界面&界面管理)
继上一次介绍了<神奇的六边形>的完整游戏开发流程后(可点击这里查看),这次将为大家介绍另外一款魔性游戏<跳跃的方块>的完整开发流程. (点击图片可进入游戏体验) 因内容太多,为 ...
- typecho流程原理和插件机制浅析(第二弹)
typecho流程原理和插件机制浅析(第二弹) 兜兜 393 2014年04月02日 发布 推荐 1 推荐 收藏 14 收藏,3.7k 浏览 上一次说了 Typecho 大致的流程,今天简单说一下插件 ...
- LCA问题第二弹
LCA问题第二弹 上次用二分的方法给大家分享了对 LCA 问题的处理,各位应该还能回忆起来上次的方法是由子节点向根节点(自下而上)的处理,平时我们遇到的很多问题都是正向思维处理困难而逆向思维处理比较容 ...
- 线段树+RMQ问题第二弹
线段树+RMQ问题第二弹 上篇文章讲到了基于Sparse Table 解决 RMQ 问题,不知道大家还有没有印象,今天我们会从线段树的方法对 RMQ 问题再一次讨论. 正式介绍今天解决 RMQ 问题的 ...
- Hadoop基础-MapReduce的工作原理第二弹
Hadoop基础-MapReduce的工作原理第二弹 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Split(切片) 1>.MapReduce处理的单位(切片) 想必 ...
- 『PyTorch』第二弹重置_Tensor对象
『PyTorch』第二弹_张量 Tensor基础操作 简单的初始化 import torch as t Tensor基础操作 # 构建张量空间,不初始化 x = t.Tensor(5,3) x -2. ...
- Java基础-程序流程控制第二弹(循环结构)
Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...
随机推荐
- ios ALAssetsLibrary简单的使用
关于ALAssetsLibrary的简单使用有两个方面: 第一:存储图片/视频方法如下: // With a UIImage, the API user can use -[UIImage CGIma ...
- jquery如何设置html众标签中的值
$("img").attr("src",some_url);//jquery设置img标签中的src值 $("#user").val(&qu ...
- ES6 对let声明的一点思考
说到ES6的let变量声明,我估计很多人会想起下面几个主要的特点: 没有变量声明提升 拥有块级作用域 暂时死区 不能重复声明 很多教程和总结基本都说到了这几点(说实话大部分文章都大同小异,摘录的居多) ...
- WPF 杂谈——入门介绍
对于WPF的技术笔者是又爱又恨.现在WPF的市场并不是很锦气.如果以WPF来吃饭的话,只怕会饿死在街头.同时现在向面WEB开发更是如火冲天.所以如果是新生的话,最好不要以WPF为主.做为选择性来学习一 ...
- callLater
UIComponent的方法,该方法在每次更新屏幕之前,Flash Player 或 AIR 都会调用为更新预定的函数集.有时,应在下次更新时调用函数,以执行为当前更新预定的其余代码.部分功能(如效果 ...
- typedef和define的详细区别
typedef是一种在计算机编程语言中用来声明自定义数据类型,配合各种原有数据类型来达到简化编程的目的的类型定义关键字. #define是预处理指令.下面让我们一起来看. typedef是C语言语句, ...
- css3 transition 和 animation实现走马灯
这段时间在做一个App,H5的开发.页面上有公告 以走马灯的形式显示出来. 在开始直接用的marquee标签,后来发现在ios客户端,走马灯移动不够平滑,有抖动现象. 对于有强迫症的我而言是无法忍受的 ...
- LNMP源码编译安装
思路:根据Linux系统以及公司网站系统的信息,选择合适的安装包进行安装 一.查看系统信息 # uname -a # 查看内核/操作系统/CPU信息 # ...
- java下蛇形回环矩阵的实现
前文废话:这个问题据说是腾讯之前的一道笔试题,由于当时没认真看,现在记不清这种矩阵是不是叫"蛇形回环矩阵"......请大家直接看图1,就是那个样子的矩阵. 问题描述:输入一个N, ...
- hdu1312 Red and Black 简单BFS
简单BFS模版题 不多说了..... 直接晒代码哦.... #include<cstdlib> #include<iostream> #include<cstdio> ...