python常见数据类型
字符串
字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。
创建字符串烦人过程其实很简单,只需为变量分配一个值即可。例如:
var = 'Hello World!'
如果要访问上述字符串该如何访问?在python中访问子字符串,最简单的方法可以使用方括号来截取字符串。例如:
var = 'Hello World!' print "var[0]: ", var1[0]
执行结果
var1[0]: H
常用字符串的方法
摘一些重要的字符串方法
print(st.count('l')) #str代表关键字,如 " " 的格式,下同
print(st.center(50,'#')) # 居中
print(st.startswith('he')) # 判断是否以某个内容开头
print(st.find('t'))
print(st.format(name='alex',age=37)) # 格式化输出的另一种方式 待定:?:{}
print('My tLtle'.lower()) #将大写变小写
print('My tLtle'.upper()) #小写变大写
print('\tMy tLtle\n'.strip()) #清空换行符和空格等
print('My title title'.replace('itle','lesson',1)) #改变元素
print('My title title'.split('i',1)) #以i为分隔符分割一次,以列表形式输出
字符串的格式化输出
占位符
- %s—string
- %d—digital
- %f —float
例如
name = input('name:')
age = input('age:')
salary = input('salary:')
job = input('job:') if salary.isdigit():#判断像不像整数
salary = int(salary)#如果像,装换成整数
else:
exit('must is digit')#退出程序
msg = '''
------info is %s------
name: %s
age: %s
salary: %s
job: %s
---------end----------
'''%(name,name,age,salary,job)
print(msg)
输出结果
name:ll
age:22
salary:3000
job:IT ------info is ll------
name: ll
age: 22
salary: 3000
job: IT
Python isdigit()方法
Python isdigit() 方法检测字符串是否只由数字组成。
语法
str.isdigit()
返回值中不带任何参数,返回结果为 True 和 False 两种情况
实例
str = "123456"; #输入由数字组成的字符串
print str.isdigit(); str = "this is string example....wow!!!"; #输入字符串
print str.isdigit();
结果
True
False
列表
列表是Python中最基本的数据结构。序列中的每个元素都分配一个数字 , 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
列表都可以进行的操作包括索引,切片,加,乘,检查成员。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型。
首先我们创建一个列表
list1 = [1, 2, 3, 4, 5 ]
list2 = ["a", "b", "c", "d","e"]
和字符串一样,列表的索引也是从0开始,从左往右一次类推
在列表中我们可以进行增删改查等操作运算
首先我们定义一个简单列表,并进行访问
>>> list = ['a','b','c','d','e']
>>> list[1]
'b'
注:这里的 1 就是列表list的下表,访问列表list就是通过访问列表中的下表来进行寻址
上述只是寻找一个元素,如果我们要查找列表中多个元素,这就需要用到切片的功能。例如:
>>> list = ['a','b','c','d','e']
>>> list[1:3] #取下标1至下标3之间的元素,包括1,不包括3,既包左不包右
['b', 'c']
>>> list[1:] #取下标从1开始到最后一个结束之间的元素
['b', 'c', 'd', 'e']
>>> list[:] #不加下标,默认从0开始到最后一个结束
['a', 'b', 'c', 'd', 'e']
>>> list[1:-1] #取下标1开始到倒数第二个元素结束
['b', 'c', 'd']
>>> list[1::2] #取下标从1开始到最后一个结束,期间每隔2个元素取值,默认相隔1。
['b', 'd']
>>>
添加
append
>>> list = ['a','b','c','d','e']
>>> list
['a', 'b', 'c', 'd', 'e']
>>> list.append('F') #添加元素添加到该列表的最后一个位置
>>> list
['a', 'b', 'c', 'd', 'e', 'F']
insert
可以指定添加的元素的起始位置
>>> list = ['a','b','c','d','e']
>>> list
['a', 'b', 'c', 'd', 'e']
>>> list.insert(2,"F") #表示强从从b后面插入。
>>> list
['a', 'b', 'F', 'c', 'd', 'e']
>>>
修改
>>> list = ['a','b','c','d','e']
>>> list
['a', 'b', 'c', 'd', 'e']
>>> list[3] = "C"
>>> list
['a', 'b', 'c', 'C', 'e']#可以发现3位置的元素从d换成了C
>>>
删除
del
>>> list = ['a','b','c','d','e']
>>> del list[1] #指定下标时,表示删除列表中该下标位置的元素
>>> list
['a', 'c', 'd', 'e']
>>> del list #如果什么都没有写,则表示删除该列表
>>> list
<class 'list'>
remove
>>> list = ['a','b','c','d','e']
>>> list.remove('a') #元素删除指定
>>> list
['b', 'c', 'd', 'e']
pop
>>> list = ['a','b','c','d','e']
>>> list.pop() #不指定,默认删除该列表的最后一个元素
'e'
>>> list
['a', 'b', 'c', 'd']
>>> list.pop(1) #也可指定下标,删除该下标对应的元素
'b'
>>> list
['a', 'c', 'd']
>>>
扩展
>>> list = ['a','b','c','d','e']
>>> list1 = [1,2,3]
>>> list.extend(list1)
>>> list
['a', 'b', 'c', 'd', 'e', 1, 2, 3]
>>>
统计
>>> list=[1,1,1,2,3,4,5,6]
>>> list.count(1)
3
注:取该列表中的相同元素出现的次数
index
index方法用于从列表中找出某个值第一个匹配项的索引位置
>>> list = ['a','b','c']
>>> list.index('b')
1
>>>
元组
- Python的元组与列表类似,不同之处在于元组的元素不能修改。
- 元组使用小括号,列表使用方括号。
- 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可
- 元组与字符串类似,下标索引从0开始,可以进行截取,组合等。
如下:
tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";
元组只包含一个数据时,需要在元素后面加逗号隔开
tup1 = (50,);
访问元组
元组可以使用下标索引来访问元组中的值,如下实例
tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5, 6, 7 ); print ("tup1[0]: ")
print ("tup2[1:5]: ")
输出结果
physics
(2, 3, 4, 5)
字典
特性:
- dict是无序的
- key必须是唯一的,所以在字典里没有重复的数据
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
dic = {key1 : value1, key2 : value2 }
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
字典的访问
把相应的键放入熟悉的方括弧,如下实例:
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}; print ("dict['Name']: ")
print ("dict['Age']: ")
输出结果
dict['Name']: Zara
dict['Age']: 7
注:如果字典里没有访问的键值,则会访问出错。
增
dic = {'name':'flash','age':'22','job':'IT','slasry':'8000'}
dic["hobby"] = "girl"
输出结果
{'age': '22', 'slasry': '8000', 'hobby': 'girl', 'name': 'flash', 'job': 'IT'}
删除
能删单一的元素也能清空字典,清空只需一项操作。
显示删除一个字典用del命令,如下实例:
>>> dic = {"name":"flash","age":22,"job":"job"}
>>> dic.pop("name") #指定字典中的键删除对应的值
'flash'
>>> dic
{'age': 22, 'job': 'job'} >>> dic = {"name":"flash","age":22,"job":"job"}
>>> del dic["name"]
>>> dic
{'age': 22, 'job': 'job'}
>>> >>> dic = {"name":"flash","age":22,"job":"job"}
>>> dic.popitem() #随机删除
('age', 22)
>>> dic
{'name': 'flash', 'job': 'job'} >>> dic = {"name":"flash","age":22,"job":"job"}
>>> dic.clear() #清除字典中的所有元素
>>> dic
{}
>>>
查找
>>> dic = {"name":"flash","age":22,"job":"job"}
>>> "name" in dic #判断键是否在字典中,如果在,返回True,否则返回False
True
>>> dic.get("name") #查找
'flash'
>>> dic["name"] #方法同get,不同的是此方法如果不在该字典中,就会报错
'flash'
字典的嵌套使用
mune = {
"北京":{"昌平":["沙河","辛庄"]},
"河南":{"郑州":["二七","金河"]}, }
输出结果
print(mune["北京"]["昌平"][1])
辛庄
常见操作类型
>>> dic = {"name":"flash","age":22,"job":"job"}
>>> dic.values() #查找值
dict_values([22, 'flash', 'job']) >>> dic.keys() #查找键
dict_keys(['age', 'name', 'job']) >>> dic.setdefault("hobby","girl")#如果字典中没有相应的键值,就会添加进去,反之,则不会改变
'girl'
>>> dic
{'hobby': 'girl', 'age': 22, 'name': 'flash', 'job': 'job'}
>>> dic.setdefault("name","ll"
... )
'flash'
>>> dic
{'hobby': 'girl', 'age': 22, 'name': 'flash', 'job': 'job'}
>>>
>>> dic = {"name":"flash","age":22,"job":"job"}
>>> dic1 = {"hobby":"girl"}
>>> dic.update(dic1) #将字典dic1中的元素更新到字典dic中
>>> dic
{'hobby': 'girl', 'age': 22, 'name': 'flash', 'job': 'job'}
>>>
>>> dic.items()
dict_items([('hobby', 'girl'), ('age', 22), ('name', 'flash'), ('job', 'job')])
>>>
集合
集合是一个无序,不重复的组合。主要功能有去重和功能测试。
具体用法如下
a = set([1,2,3,4])
b = set([3,4,5,6])
#差集
print(a.difference(b)) #取a 中有b 没有的数据{1, 2}
print(b.difference(a)) #取b中有a 没有的数据{5, 6}
print(a - b)
print(b - a)
#反向差集合
print(a.symmetric_difference(b)) #{1, 2, 5, 6} #并集
print(a.union(b)) #{1, 2, 3, 4, 5, 6}
print(a | b)
#交集
print(a.intersection(b)) #{3, 4}
print(a & b)
#父集,子集
print(a.issuperset(b))#False
print(a > b )
print(a.issubset(b))#False
print(a < b)
a = set([1,2,3,4])
#添加
b = a.add(5)
b = a.update([4,8,6])
#删除
b = a.remove("1")#删除指定一项
b = a.pop()#随机删除一项
del a
print(1 in a)#判断数据在不在集合a中,在返回True,不在返回False
print(1 not in a)#同in 相反
附:另外常见数据类型
- 整数(integer)
- 分为整型和长整型,在python2中区分,在python3中统一叫做整型
- 复数(complex)
- 浮点数(float)
- 布尔
- 只有两种状态:真(True)和假(False)
- 字符串
不可变类型:列表,字典
可变类型:元组,整型,字符串
python常见数据类型的更多相关文章
- Python常见数据类型及操作
基础数据类型 什么是数据类型? 我们人类可以很容易的分清数字与字符的区别,但计算机并不能,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’ ...
- python常见数据类型及操作方法
title: "python数据类型及其常用方法" date: 2020-04-21T10:15:44+08:00 可变数据类型:允许变量的值发生变化,即如果对变量进行append ...
- PYTHON常见数据类型示例
shoplist = ['apple', 'mango', 'carrot', 'banana'] print('I have ', len(shoplist), ' items to purchas ...
- Python变量与常见数据类型
Python变量 变量与常量:有时被通称为变量 变量:通常指代能够产生变化的量,多用以描述事物的变化状态 常量:通常指代稳定不产生变化的量,多用于描述事物的固定状态 # 代码层面的使用 myname ...
- Python基础:八、python基本数据类型
一.什么是数据类型? 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能,计算机虽然很强大,但从某种角度上来看又很傻,除非你明确告诉它,"1"是数字,"壹&quo ...
- Python输入数据类型判断正确与否的函数大全(非常全)
对于python输入数据类型判断正确与否的函数大致有三类: (1)type(),它的作用直接可以判断出数据的类型 (2)isinstance(),它可以判断任何一个数据与相应的数据类型是否一致,比 ...
- Python基本数据类型--列表、元组、字典、集合
一.Python基本数据类型--列表(List) 1.定义:[ ]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素. 2.列表的创建: # 方式一 list1 = ['name','ag ...
- python常见模块-collections-time-datetime-random-os-sys-序列化反序列化模块(json-pickle)-subprocess-03
collections模块-数据类型扩展模块 ''' 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque ...
- 一文了解Python常见的序列化操作
关于我 一个有思想的程序猿,终身学习实践者,目前在一个创业团队任team lead,技术栈涉及Android.Python.Java和Go,这个也是我们团队的主要技术栈. Github:https:/ ...
随机推荐
- 1122从业务优化MYSQL
http://blog.itpub.net/22664653/viewspace-2079576/ 开发反馈一个表的数据大小已经130G,对物理存储空间有影响,且不容易做数据库ddl变更.咨询了开发相 ...
- JS中的进制转换以及作用
js的进制转换, 分为2进制,8进制,10进制,16进制之间的相互转换, 我们直接利用 对象.toString()即可实现: //10进制转为16进制 ().toString() // =>&q ...
- Vue之计算属性
上一篇里演示了计算属性的优点,但是,computed和data里的属性还是有区别的,computed的一个弱点就在于依赖于data属性的更新,才能触发视图更新. 举个例子: 上个例子中谈到用v-for ...
- 解决:Error: JAVA_HOME is not defined correctly
问题重现: Error: JAVA_HOME is not defined correctly. We cannot execute :/usr/lib/jvm/java-7-oracle 问题分析: ...
- 用TTS实现文本转语音
最近被toefl单词虐成狗::>_<:: 想做一个可以自动把单词转成语音的软件,这样就可以在路上戴耳机边走边听啦~ 用微软的TTS语音库可以很容易地实现.早期的TTS要想实现中英文混合朗读 ...
- 海思H264解码库 hi_h264dec_w.dll 水印问题
上一篇 海思h264解码库 , 实现了H264帧的简单解码,但更换相机后,出现了解码视频中央出现水印的问题,水印如下图 查找网络,基本就这一篇相关的,还没给出好的解决办法. http://bbs. ...
- 【ESRI论坛6周年征文】ArcEngine注记(Anno/ Label/Element等)处理专题 -入门篇
原发表于ESRI中国社区,转过来.我的社区帐号:jhlong http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=122097 ----------- ...
- Google Map API V3开发(4)
Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...
- Java字节数组转按radix进制输出
代码如下: public class Main_bytesToStr { public static void main(String[] args) throws IOException { // ...
- zabbix3.0.4 邮件告警详细配置
sendEmail是一个轻量级,命令行的SMTP邮件客户端.如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php.bash perl和web ...