python基本数据类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基本数据类型相关的知识,希望对你有一定的参考价值。
python基本数据类型
1、字符串
str1="abcdefgh"
str2=‘jkdjs‘
python的字串列表有2种取值顺序:
从左到右索引默认0开始的,最大范围是字符串长度少1
从右到左索引默认-1开始的,最大范围是字符串开头
如果你要实现从字符串中获取一段子字符串的话,可以使用变量 [头下标:尾下标],就可以截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。s = ‘ilovepython‘,s[1:5]的结果是love
字符串运算符
+ 字符串连接
* 重复输出字符串
[] 通过索引获取字符串中字符 >>>a[1]
[ : ] 截取字符串中的一部分 >>>a[1:4]
in 成员运算符 - 如果字符串中包含给定的字符返回 True
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True
% 格式字符串
内置函数
str.count(sub[, start[, end]])
返回范围[ start,end ] 中子字符串子不重叠的次数。可选参数start和end解释为切片表示法
str.decode([encoding[,errors]])
将字符串的编码版本作为字节对象返回。默认编码为‘utf-8‘
str.endswith(suffix[, start[, end]])
返回True如果字符串以指定的后缀结尾,否则返回 False。 后缀也可以是一个元组的后缀来寻找
str.find(sub [sub,start [,end]])
返回字符串中的最小索引,其中substring 子在切片中找到s[start:end]。可选参数start和end解释为切片表示法。如果没有找到sub返回-1
str.format(sub [,start [,end]])
格式化字符串
str.isalnum(...)
如果字符串中的所有字符都是字母数字且至少有一个字符,则返回true,否则返回false
str.isalpha(...)
如果字符串中的所有字符都是字母并且至少有一个字符,则返回true,否则返回false
str.islower(...)
如果字符串中所有包含字符为小写,并且至少有一个套接字符,则返回true,否则返回false
istitle(...)
开头字母是否为大写
isupper(...)
字符串是否为大写
str.join(...)
返回一个字符串,它是可迭代 迭代中字符串的连接
str.ljust(...)
返回字符串左对齐的长度宽度的字符串。填充使用指定的fillchar
lower(...)
返回一个字符串的副本,所有包含字符转换为小写
lstrip(...)
返回带有前导字符的字符串的副本。chars 参数是一个字符串,指定要删除的字符集。如果省略或None,chars参数默认为删除空格
str.partition(sep )
拆分sep的第一次出现的字符串,并返回包含分隔符之前的部分,分隔符本身和分隔符后面的部分的3元组。如果找不到分隔符,则返回包含字符串本身的3元组,后跟两个空字符串
rfind(...)
从字符串的右侧开始查找
rindex(...)
返回字符串的索引位置,从字符的右边开始
str.rjust(...)
返回字符串右对齐的长度宽度的字符串。填充使用指定的fillchar
rstrip(...)
删除字符串的右边空格
str.split(sep = None,maxsplit = -1 )
返回字符串中的单词列表,使用sep作为分隔符字符串。如果给出了maxsplit,则最多会执行maxsplit拆分(因此,列表最多只能有maxsplit+1元素)。如果未指定maxsplit或-1,对拆分数量没有限制(进行所有可 能的拆分)。
splitlines([ keepends ]) 返回字符串中的行的列表,在行边界处断开。换行符不包括在结果列表中,除非keepends为true和true
str.strip([ chars ] ) 返回字符串的前导和尾随字符删除的副本。chars参数是一个字符串,指定要删除的字符集。如果省略或None,chars参数默 认为删除空格。该字符参数不是前缀或后缀; 相反,它的值的所有组合被剥离
upper(...)
将字母转换为大写
title(...)
首字母大写,其余小写
str.capitalize()
首字母大写,其余字母小写
str.replace(‘‘,‘‘)
如果字符串中只有空格字符,并且至少有一个字符,则返回true,否则返回false
str.isprintable()
如果字符串中的所有字符都可打印或字符串为空,则返回true,否则返回false
str.zfill(width )
返回一个字符串的副本,填充ASCII ‘0‘数字,以形成一个长度为width的字符串
str.join(...)
在队列中添加元素,是split的逆方法
2、列表
列表list,是一种容器,可以包含任意有序集合,可变对象
支持异构:同一个对象中可以存数字,字符串多种数据类型
列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套),数据项不需要具有相同的类型
列表中的值得分割也可以用到变量[头下标:尾下标],就可以截取相应的列表,从左到右索引默认0开始的,从右到左索引默认-1开始,下标可以为空表示取到头或尾。
加号(+)是列表连接运算符,星号(*)是重复操作
成员关系判断: in not in
定义列表: alis=[‘a‘,‘c‘,‘b‘,‘a‘,‘e‘,‘r‘,‘t‘,‘q‘]
运算符:加号(+)是列表连接运算符,星号(*)是重复操作
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表函数&方法
cmp(list1, list2) 比较两个列表的元素
len(list) 列表元素个数
max(list) 返回列表元素最大值
min(list) 返回列表元素最小值
list(seq) 将元组转换为列表
内置函数
count(obj)
统计某个元素在列表中出现的次数
extend(seq)
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
index(obj)
index 索引 从列表中找出某个值第一个匹配项的索引位置
insert(index,obj)
在某个索引后面追加 值,将对象插入列表
pop(...)
根据索引查询list的值 如果不传参数 默认取list的最后一个值
remove(...)
remove 删除 [删除指定的值remove(\‘需要移除的值\‘) ]
reverse(...)
反转,反向列表中元素
sort(...)
排序
append(...)
append 追加 [追加在list列表的最后]
copy(...)
复制,deepcopy 深度复制
3、元组
元组是另一个数据类型,类似于List(列表)。
元组用"()"标识。内部元素用逗号隔开。但是元组不能修改,相当于只读列表。
元组与字符串类似,下标索引从0开始,可以进行截取,组合等
元组是不允许更新的。而列表是允许更新的
内置函数
count(...)
返回元组成员个数
index(...)
返回某个成员在元组的偏移位置
cmp(tuple1, tuple2)
比较两个元组元素。
len(tuple)
计算元组元素个数
max(tuple)
返回元组中元素最大值
min(tuple)
返回元组中元素最小值
tuple(seq)
将列表转换为元组
4、字典
字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
字典 dict: [key:vlues] | ---{"x":"1","y":"2"}
工厂函数 dict: dict(zip(‘x‘,‘y‘),(‘1‘,‘2‘))
zip函数 将两个列表合并起来,成为一个元组的列表,当两个列表不一样长的时候,多余的会被忽略
-------------------------
字典类型与序列类型的区别:
1.存取和访问数据的方式不同。
2.序列类型只用数字类型的键(从序列的开始按数值顺序索引);
3.映射类型可以用其他对象类型作键(如:数字、字符串、元祖,一般用字符串作键),和序列类型的键不同,映射类型的键直
4.直接或间接地和存储数据值相关联。
5.映射类型中的数据是无序排列的。这和序列类型是不一样的,序列类型是以数值序排列的。
6.映射类型用键直接“映射”到值。
7.键必须是唯一的,但值则不必
特点:
1、键与值用冒号“:”分开;
2、项与项用逗号“,”分开;
3、字典中的键必须是唯一的,而值可以不唯一
创建字典
dict = {‘Name‘: ‘Zara‘, ‘Age‘: 7, ‘Class‘: ‘First‘};
访问字典里的值
print dict[‘Alice‘]
dict[‘Beth‘]
修改字典
dict[‘Age‘] = 8
删除字典元素
del dict[‘Name‘]; # 删除键是‘Name‘的条目
dict.clear(); # 清空词典所有条目
del dict ; # 删除词典
字典内置函数&方法
cmp(dict1, dict2) 比较两个字典元素
len(dict) 计算字典元素个数,即键的总数
str(dict) 输出字典可打印的字符串表示
type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型
iter(dict) 对字典中的键,值或项(表示为元组)返回一个迭代器 。(key, value)
内置函数
iteritems(...)
iterkeys(...)
itervalues(...)
keys(...)
返回字典所有的keys
pop(key [,default ])
如果key在字典中,删除它并返回其值,否则返回 默认值。如果未给出默认值,并且键不在字典中,KeyError则引发a
popitem(...)
从字典中删除并返回任意对。(key, value) \ popitem()对于在集合算法中经常使用的字典进行破坏性迭代是有用的。如果字典是空的,调用 popitem()引发一个KeyError。
values(...)
返回字典所有的values
radiansdict.clear()
删除字典内所有元素
radiansdict.copy()
返回一个字典的浅复制
radiansdict.fromkeys()
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
radiansdict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值
radiansdict.has_key(key)
如果键在字典dict里返回true,否则返回false
radiansdict.items()
以列表返回可遍历的(键, 值) 元组数组
radiansdict.keys()
以列表返回一个字典所有的键
radiansdict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
radiansdict.update(dict2)
把字典dict2的键/值对更新到dict里
radiansdict.values()
以列表返回字典中的所有值
5、切片
A、字符串切片
str = ‘Hello World!‘
print str # 输出完整字符串
print str[0] # 输出字符串中的第一个字符
print str[2:5] # 输出字符串中第三个至第五个之间的字符串
print str[2:] # 输出从第三个字符开始的字符串
print str * 2 # 输出字符串两次
print str + "TEST" # 输出连接的字符串
B、列表切片
list = [ ‘runoob‘, 786 , 2.23, ‘john‘, 70.2 ]
tinylist = [123, ‘john‘]
print list # 输出完整列表
print list[0] # 输出列表的第一个元素
print list[1:3] # 输出第二个至第三个的元素
print list[2:] # 输出从第三个开始至列表末尾的所有元素
print tinylist * 2 # 输出列表两次
print list + tinylist # 打印组合的列表
C、元组切片
tuple = ( ‘runoob‘, 786 , 2.23, ‘john‘, 70.2 )
tinytuple = (123, ‘john‘)
print tuple # 输出完整元组
print tuple[0] # 输出元组的第一个元素
print tuple[1:3] # 输出第二个至第三个的元素
print tuple[2:] # 输出从第三个开始至列表末尾的所有元素
print tinytuple * 2 # 输出元组两次
print tuple + tinytuple # 打印组合的元组
6、数据类型转换
int(x [,base]) 将x转换为一个整数
long(x [,base] ) 将x转换为一个长整数
float(x) 将x转换到一个浮点数
complex(real [,imag]) 创建一个复数
str(x) 将对象 x 转换为字符串
tuple(s) 将序列 s 转换为一个元组
list(s) 将序列 s 转换为一个列表
set(s) 转换为可变集合
dict(d) 创建一个字典。d 必须是一个序列 (key,value)元组。
frozenset(s) 转换为不可变集合
chr(x) 将一个整数转换为一个字符
以上是关于python基本数据类型的主要内容,如果未能解决你的问题,请参考以下文章