python--2、数据类型
字符串
name='jinyudong'
按索引取值。正向取 与 反向取
name['3']
'y'
name['-3']
'o'
切片(若要使用倒序指定步长为-1),开始或者结束不指定即为到最边上的
name[3:]
'yudong'
统计字符串长度,即字符个数。
len(name)
9
成员运算。 in , not in
'dong' in name
True
移除两端空格或别的字符: lstrip rstrip 只从左或只从右移除
a = ' X '
a.strip()
'X'
切分: 根据特定符号把值切割为多个元素 lsplit rsplit 从左或从右开始切分 , 可写第二个参数为切分几次
name.split('n')
['ji', 'yudo', 'g']
判断开始和结束的字符: 返回的为布尔值
name.startswith('jin')
name.endswith('dong')
字符串替换: 三个参数为 old new count
name.replace('jin','james',1)
'jamesyudong'
另一种格式化字符串的方式:
res='{} {} {}'.format('dong',18,'male')
res='{1} {0} {1}'.format('dong',18,'male')
res='{name} {age} {sex}'.format(sex='male',name='dong',age=18)
查看字符出现的位置:
name.find('i',0,4) name.index('i')
查看字符出现的次数: name.count('n',1,8)
输出连续的特殊字符:
print(name.center(30,'-'))
print(name.ljust(30,'*'))
print(name.rjust(30,'*'))
print(name.zfill(50)) #用0填充
更改字符串字母的大小写。 upper 改为大写。 lower 改为小写。
print(name.capitalize()) #首字母大写
print(name.swapcase()) #大小写翻转
name = 'jin yu dong'
name.title() 每个单词的首字母大写
is判断相关方法:
isdigit() 可以判断bytes和Unicode类型
isdecimal() 只支持Unicode类型。 isnumeric() 判断中文数字或者罗马数字
isalnum() 字符串由字母或数字组成
isalpha() 字符串只由字母组成 isidentifier检测字符串是否是字母开头 。 isuppper() 是否大写。 islower() 是否小写。 isspace() 是否为空。 istitle() 是否为单词首字母大写
列表、元组
共性:都是存储一组数值,都是有序的
区别:列表创建后可修改。元组创建后不可修改
列表操作:
list = ['a','b','c','d']
索引: 从0开始计算
list[1]
'b'
切片: 从0开始计算,顾头不顾尾。第三个参数可设置步长
list[0:2]
['a','c']
添加: 在尾部添加一个元素
list.append['e']
插入: 指定插入的索引位置,跟上插入的元素
list,insert(2,'test')
修改: 指定索引,用赋值的方式重新定义该索引位置的值
list[2] = 'new'
计算元素个数: len() 一个元素为一个单位
len(list)
删除元素: 三种方法-- del 变量[索引] , remove('元素值') ,POP(索引) 默认从-1索引弹出, 弹出后会有输出可被变量使用
del list[-1]
list.remove('a')
this_c = list.pop()
一次追加多个: 定义一个列表,吧列表里的元素都追加到源列表尾部
list.extend(['x','y','z'])
拷贝: 用copy方法,并用新变量名做定义。 或者使用切片的方式,重新生成列表值并定义给新列表
new_list = list.copy()
new2_list =list[:]
统计一个元素出现的次数:
list.count('b')
排序: #3.0里不同数据类型不能放在一起排序
list.sort()
翻转:
list.reverse()
获取元素的索引:
list.index('c')
元组操作:
count 、 index 、 成员运算 和列表应用方法一样。
字典:
存多个key-value键值对。key必须是不可变类型,value可以是任意类型。
按key存取值。
dicts[key] 获取key对应的value 。 dicts[key] = 'value' 重新给key赋值。
统计键值对个数 ; len
删除。 pop('key') 指定弹出该key的键值对
键keys(),值values(),键值对items() 从一个多值对象中取出所需的值
q=(1,3,6,7,9)
a,_,b,c,d = q # _会获取到一个值,该值为弃用值
a,*_,d = q 交换两个变量的值:
z=1 x=2
x,z = z,x
#利用setdefault解决重复赋值
setdefault的功能
1:key存在,则不赋值,key不存在则设置默认值
2:key存在,返回的是key对应的已有的值,key不存在,返回的则是要设置的默认值
setdefault 原理:

集合
关系运算,去掉重复值。用{} 定义, 可包含多个元素。 每个元素必须是不可变类型(可hash,可作为字典的key)。 里面的元素是无序的。
集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算
|合集
&交集
-差集
^对称差集
==
>,>= ,<,<= 父集,子集
以上所列出的数据类型均支持 in , not in 关系运算
占用存储空间排序: 数字<字符串<集合<元组<列表<字典
总结:
集合:无序,即无序存索引相关信息
元组:有序,需要存索引相关信息,不可变
列表:有序,需要存索引相关信息,可变,需要处理数据的增删改
字典:无序,需要存key与value映射的相关信息,可变,需要处理数据的增删改
容器类型的 : 列表,元组,字典,集合
可变的: 列表,字典
有序的: 列表,元组,字符串
身份运算(is ,is not)
is比较的是id,而双等号比较的是值
毫无疑问,id若相同则值肯定相同,而值相同id则不一定相同
python--2、数据类型的更多相关文章
- python 基本数据类型分析
在python中,一切都是对象!对象由类创建而来,对象所拥有的功能都来自于类.在本节中,我们了解一下python基本数据类型对象具有哪些功能,我们平常是怎么使用的. 对于python,一切事物都是对象 ...
- python常用数据类型内置方法介绍
熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 下面介绍了python常用的集中数据类型及其方法,点开源代码,其中对主要方法都进行了中文注释. 一.整型 a = 100 a.xx ...
- 闲聊之Python的数据类型 - 零基础入门学习Python005
闲聊之Python的数据类型 让编程改变世界 Change the world by program Python的数据类型 闲聊之Python的数据类型所谓闲聊,goosip,就是屁大点事可以咱聊上 ...
- python自学笔记(二)python基本数据类型之字符串处理
一.数据类型的组成分3部分:身份.类型.值 身份:id方法来看它的唯一标识符,内存地址靠这个查看 类型:type方法查看 值:数据项 二.常用基本数据类型 int 整型 boolean 布尔型 str ...
- Python入门-数据类型
一.变量 1)变量定义 name = 100(name是变量名 = 号是赋值号100是变量的值) 2)变量赋值 直接赋值 a=1 链式赋值 a=b=c=1 序列解包赋值 a,b,c = 1,2,3 ...
- Python基础:八、python基本数据类型
一.什么是数据类型? 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能,计算机虽然很强大,但从某种角度上来看又很傻,除非你明确告诉它,"1"是数字,"壹&quo ...
- python之数据类型详解
python之数据类型详解 二.列表list (可以存储多个值)(列表内数字不需要加引号) sort s1=[','!'] # s1.sort() # print(s1) -->['!', ' ...
- Python特色数据类型(列表)(上)
Python从零开始系列连载(9)——Python特色数据类型(列表)(上) 原创 2017-10-07 王大伟 Python爱好者社区 列表 列表,可以是这样的: 分享了一波我的网易云音乐列表 今天 ...
- 【Python】-NO.97.Note.2.Python -【Python 基本数据类型】
1.0.0 Summary Tittle:[Python]-NO.97.Note.2.Python -[Python 基本数据类型] Style:Python Series:Python Since: ...
- python基本数据类型之集合
python基本数据类型之集合 集合是一种容器,用来存放不同元素. 集合有3大特点: 集合的元素必须是不可变类型(字符串.数字.元组): 集合中的元素不能重复: 集合是无序的. 在集合中直接存入lis ...
随机推荐
- HTML学习笔记之标签进阶
目录 1.框架 2.表单 3.音频 4.视频 5.文档类型 6.头部元素 7.样式 8.脚本 9.实体 1.框架 使用框架允许我们在同一个浏览器窗口中显示多个页面,其中每份 HTML 文档称为一个框架 ...
- TortoiseGit配置密钥的方法
TortoiseGit 使用扩展名为ppk的密钥,而不是ssh-keygen生成的rsa密钥.使用命令ssh-keygen -C "邮箱地址" -t rsa产生的密钥在Tortoi ...
- springcloud(七): 使用Feign调用Eureka Server客户端服务
当我们通过RestTemplate调用其它服务的API时,所需要的参数须在请求的URL中进行拼接,如果参数少的话或许我们还可以忍受,一旦有多个参数的话,这时拼接请求字符串就会效率低下,并且显得好傻. ...
- 【郑轻邀请赛 H】 维克兹的进制转换
[题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2134 [题意] [题解] 设f[i]表示数字i分解为二进制数的方案数; 则 如果i为 ...
- 了解一下JAVA中的NIO模块
网上资料大把,但要写写代码,我这个年纪的人才有一点点记忆了.. 参考URL: http://blog.csdn.net/wuxianglong/article/details/6612282 pack ...
- hdu_1213_How Many Tables_201403091126
How Many Tables Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- NTP-网络时间协议
前言 搭建了一个linux虚拟机,发现跑着跑着时间有差异,查资料发现这个是正常的,因为系统时间和硬件时间是本地时间,会因各种原因导致跟标准时间UTC时间有差异,所以计算机界的牛人发明了NTP协议,专门 ...
- MYSQL 运维
http://www.eimhe.com/thread-142990-1-1.html http://www.eimhe.com/search.php?mod=forum&searchid=6 ...
- 使用javacv注意点
由于Android开发需要,使用JavaCV,一开始我配置windows上的Javacv,发现总是出问题,说找不到dll文件.最终发现Opencv库必须解压在C盘根目录下才行. 这个有点坑爹,另外要注 ...
- Codeforces Round #303 (Div. 2) E
五道水题,但要手快才好...我手慢了,E题目都没看完TAT.... 想了一发,很水,就是一遍Dijk即可,使用优先队列,同时记录由哪条边转移而来 #include <iostream> # ...