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 ...
随机推荐
- 2977,3110 二叉堆练习1,3——codevs
二叉堆练习1 题目描述 Description 已知一个二叉树,判断它是否为二叉堆(小根堆) 输入描述 Input Description 二叉树的节点数N和N个节点(按层输入) 输出描述 Outpu ...
- SqlServer大数据的分区方案
这里介绍的是大数据量的维护日志的分区解决方案: 每个月1张数据表,1个分组文件.31个分区(按每天1个分区).... 为了日后维护方便,直接删除旧的日志数据文件就可以,而不需要去做分区压缩. --用的 ...
- Ubuntu网卡设置:配置/etc/netplan
对于Ubuntu1804版本,经过测试如下配置可以设置静态IP地址: Google@ubuntu:~$ cat /etc/netplan/01-netcfg.yaml network: etherne ...
- C C++ POSIX 的一些 IO 操作
一些 C C++ POSIX 的 IO 操作总结 文件-内存之间 内存-内存之间 POSIX 有无缓冲的 IO 操作 对文件的操作,读文件至内存,从内存写至文件 // 读文件至内存buf中 void ...
- mysql登录出现1045错误
这个问题是在window server 2012上安装mysql之后, 远程访问时出现的1045错误 我新建了一个相同的用户用于远程访问, 密码也相同, 但是还是访问不了 参照链接:https://b ...
- 内存管理(malloc和free的用法)
内存管理 1.堆和栈的区别: 1>栈的特征 1).执行的速度相对较快: 2).空间较小: 3).生存期由系统决定: 4).作用域较小: 5).有名空间,可以通过变量名或者数据名访问: 2> ...
- nyoj_524_A-B Problem_201312012035
A-B Problem 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 A+B问题早已经被大家所熟知了,是不是很无聊呢?现在大家来做一下A-B吧. ...
- joinColumns和inverseJoinColumns的使用方法
近期在工作中使用springside.里面用到了hibernate的多对多 一開始我在配置department(部门表)和menu(栏目表)的时候.这样写的. Department实体类中的getMe ...
- Window下UDP(socket)接和收数据案例
配置QT的环境变量,这台电脑à属性à高级系统设置à高级à环境变量à系统变量àpathàC:\Qt\Qt5.3.0\5.3\mingw482_32\bin;C:\Qt\Qt5.3.0\Tools\ ...
- hdu 1874 畅通project续
最短路问题,尽管a!=b,可是同一条路測评数据会给你非常多个.因此在读入的时候要去最短的那条路存起来.........见了鬼了.坑爹 #include<iostream> #include ...