################################第二节################################################
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 第二弹的更多相关文章

  1. 浅谈Hybrid技术的设计与实现第二弹

    前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术的设计与实现第三弹——落地篇 接上文:浅谈Hybrid技术的设计与实现(阅读本文前,建议阅读这个先) ...

  2. 前端学习 第二弹: JavaScript中的一些函数与对象(1)

    前端学习 第二弹: JavaScript中的一些函数与对象(1) 1.apply与call函数 每个函数都包含两个非继承而来的方法:apply()和call(). 他们的用途相同,都是在特定的作用域中 ...

  3. 青瓷引擎之纯JavaScript打造HTML5游戏第二弹——《跳跃的方块》Part 10(排行榜界面&界面管理)

    继上一次介绍了<神奇的六边形>的完整游戏开发流程后(可点击这里查看),这次将为大家介绍另外一款魔性游戏<跳跃的方块>的完整开发流程. (点击图片可进入游戏体验) 因内容太多,为 ...

  4. typecho流程原理和插件机制浅析(第二弹)

    typecho流程原理和插件机制浅析(第二弹) 兜兜 393 2014年04月02日 发布 推荐 1 推荐 收藏 14 收藏,3.7k 浏览 上一次说了 Typecho 大致的流程,今天简单说一下插件 ...

  5. LCA问题第二弹

    LCA问题第二弹 上次用二分的方法给大家分享了对 LCA 问题的处理,各位应该还能回忆起来上次的方法是由子节点向根节点(自下而上)的处理,平时我们遇到的很多问题都是正向思维处理困难而逆向思维处理比较容 ...

  6. 线段树+RMQ问题第二弹

    线段树+RMQ问题第二弹 上篇文章讲到了基于Sparse Table 解决 RMQ 问题,不知道大家还有没有印象,今天我们会从线段树的方法对 RMQ 问题再一次讨论. 正式介绍今天解决 RMQ 问题的 ...

  7. Hadoop基础-MapReduce的工作原理第二弹

    Hadoop基础-MapReduce的工作原理第二弹 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Split(切片)  1>.MapReduce处理的单位(切片) 想必 ...

  8. 『PyTorch』第二弹重置_Tensor对象

    『PyTorch』第二弹_张量 Tensor基础操作 简单的初始化 import torch as t Tensor基础操作 # 构建张量空间,不初始化 x = t.Tensor(5,3) x -2. ...

  9. Java基础-程序流程控制第二弹(循环结构)

    Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...

随机推荐

  1. Java排序算法之归并排序

    基本思想: 归并排序利用分治法,先将一个序列分成一个个子序列,然后对子序列进行排序,再把有序子序列合并为整体有序序列. 图片来自于http://www.cnblogs.com/shudonghe/p/ ...

  2. 安卓和iOS移动APP开发设计应该考虑哪些问题

    应该考虑哪些问题 现在用移动设备上网的用户越来越多,企业也可以从移动APP端挖掘潜在用户,想要设计好一款移动APP,我们需要考虑哪几个问题呢? 首先 我们应该先确认清楚企业的移动互联网战略目标是什么? ...

  3. [进程管理]Linux进程状态解析之R、S、D

    Linux是一个分时操作系统,能够在一个cpu上运行多个程序,每个被运行的程序实例对应一个或多个进程,这里介绍一下Linux进程状态. Linux是一个多用户,多任务的系统,可以同时运行多个用户的多个 ...

  4. java并发程序——并发容器

    概述 java cocurrent包提供了很多并发容器,在提供并发控制的前提下,通过优化,提升性能.本文主要讨论常见的并发容器的实现机制和绝妙之处,但并不会对所有实现细节面面俱到. 为什么JUC需要提 ...

  5. centos下安装dubbo-admin步骤

    前言: 纠正网上一些错误的博文,真的害人不浅,按照他们的说法,dubbo-admin在jdk1.8的版本下无法启动注册中心,需要去github下载阿里提供的源码,然后install进本地仓库并打包成w ...

  6. 时间序列预测之--ARIMA模型

    什么是 ARIMA模型 ARIMA模型的全称叫做自回归移动平均模型,全称是(ARIMA, Autoregressive Integrated Moving Average Model).也记作ARIM ...

  7. Android学习资料整理

    1.官方网站 http://developer.android.com/index.html http://android-developers.blogspot.com/ 2.Android Des ...

  8. python课程day_2-->总结-->字符串功能

    =======================课程大纲=======================> 基本数据类型 - 整数 - 布尔值 - 字符串 - 列表 - 元组 - 字典 - 集合 工 ...

  9. Shell脚本编写

    1.什么是Shell脚本 Shell脚本是利用 shell 的功能所写的一个程序 program,这个程序是使用纯文本文件,将一些 shell 的语法与指令(含外部指令)写在里面, 搭配正则表达式.管 ...

  10. NancyFx 2.0的开源框架的使用-Stateless

    同样和前面一样新建一个空的Web项目,都在根目录添加Module,Models,Views文件夹 添加Nuget包 在Models文件夹里面添加UserModel类 public string Use ...