python基本数据类型

    

一、字符串(string)


定义字符串:str1="abcdefgh" ; str2='jkdjs'

python的字串列表有2种取值顺序:

从左到右索引默认0开始的,最大范围是字符串长度少1

从右到左索引默认-1开始的,最大范围是字符串开头

如果你要实现从字符串中获取一段子字符串的话,可以使用变量 [头下标:尾下标],就可以截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。s = 'ilovepython',s[1:5]的结果是love


1、字符串运算符

字符串连接

重复输出字符串

通过索引获取字符串中字符  >>>a[1]

截取字符串中的一部分      >>>a[1:4]

成员运算符 - 如果字符串中包含给定的字符返回 True

成员运算符 - 如果字符串中不包含给定的字符返回 True



2、字符串格式化


print ('小明今年%s岁' % 10)

字符串格式化元组|字典

如果使用列表或者其他序列代替元组,序列会被解释成一个值.

'%s 今年%s岁' % ('小明','10')

字符串格式化字典

dict={"age":"11"}
print('年龄:%(age)'%dict)


高级格式化


1、字符宽度

  %10f ,字符不够字符最前端保留剩余宽度


2、字符串精度获取

   %.5s ,打印字符串前5个字符


3、符号、对齐、0填充

   A) 0填充: %010.2f ,结果:0000003.14

   

   B) -左对齐,+右对齐 :%-10.2f |%+10.2f


   C) + 表示正数或负数都显示出数字前面的符号(-10|+10).




3、内置方法


str.count(sub[, start[, end]])

str.decode([encoding[,errors]])

str.endswith(suffix[, start[, end]])

str.find(sub [sub,start [,end]]) 

str.format(sub [,start [,end]])

str.isalnum(...)

str.isalpha(...)

str.islower(...)

istitle(...)

isupper(...)

str.join(...)

str.ljust(...)

    返回字符串左对齐的长度宽度的字符串。填充使用指定的fillchar

lower(...)

lstrip(...)

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 ] ) 

认为删除空格。该字符参数不是前缀或后缀; 相反,它的值的所有组合被剥离

upper(...)

title(...)

str.capitalize()

    首字母大写,其余字母小写

str.replace('','')

    如果字符串中只有空格字符,并且至少有一个字符,则返回true,否则返回false

str.isprintable()

str.zfill(width )

str.join(...)




字符串汇总整理:

  一般字符串,执行一个功能,生成一个新内容,原来内容不变

list,tuple,dict执行一个功能,自身发生变化


二、列表(list)

列表list,是一种容器,可以包含任意有序集合,可变对象

支持异构:同一个对象中可以存数字,字符串多种数据类型

列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套),数据项不需要具有相同的类型

列表中的值得分割也可以用到变量[头下标:尾下标],就可以截取相应的列表,从左到右索引默认0开始的,从右到左索引默认-1开始,下标可以为空表示取到头或尾。

加号(+)是列表连接运算符,星号(*)是重复操作

成员关系判断:  in   not in

定义列表: alis=['a','c','b','a','e','r','t','q']

运算符:加号(+)是列表连接运算符,星号(*)是重复操作


序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。


Python有6个序列的内置类型,但最常见的是列表和元组。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。


1、列表函数

cmp(list1, list2)    比较两个列表的元素
len(list)              列表元素个数
max(list)            返回列表元素最大值
min(list)            返回列表元素最小值
list(seq)            将元组转换为列表


2、内置函数


count(obj)

    统计某个元素在列表中出现的次数

extend(seq)

    在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

index(obj)

    index 索引 从列表中找出某个值第一个匹配项的索引位置

insert(index,obj)

    在某个索引后面追加 值,将对象插入列表

pop(...)

    根据索引查询list的值 如果不传参数 默认取list的最后一个值

remove(...)


reverse(...)

    反转,反向列表中元素

sort(...)

    排序

append(...)     

    append 追加 [追加在list列表的最后]

copy(...)

    复制,deepcopy 深度复制

四、元组(tuple)

元组是另一个数据类型,类似于List(列表)。

元组用"()"标识。内部元素用逗号隔开。但是元组不能修改,相当于只读列表。

元组与字符串类似,下标索引从0开始,可以进行截取,组合等

元组是不允许更新的。而列表是允许更新的



1、内置函数

count(...)

    返回元组成员个数

index(...)

    返回某个成员在元组的偏移位置

cmp(tuple1, tuple2)   

    比较两个元组元素。

len(tuple)    

    计算元组元素个数

max(tuple)    

    返回元组中元素最大值

min(tuple)  

    返回元组中元素最小值

tuple(seq)  

    将列表转换为元组


四、字典(Dictionary)

字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。

两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典用"{ }"标识。字典由索引(key)和它对应的值value组成。


字典 dict:  [key:vlues] | ---{"x":"1","y":"2"}

工厂函数 dict:  dict(zip('x','y'),('1','2')) 

zip函数 将两个列表合并起来,成为一个元组的列表,当两个列表不一样长的时候,多余的会被忽略

-------------------------

1、字典类型与序列类型的区别:

    1.存取和访问数据的方式不同。

    2.序列类型只用数字类型的键(从序列的开始按数值顺序索引);

    3.映射类型可以用其他对象类型作键(如:数字、字符串、元祖,一般用字符串作键),和序列类型的键不同,映射类型的键直

    4.直接或间接地和存储数据值相关联。

    5.映射类型中的数据是无序排列的。这和序列类型是不一样的,序列类型是以数值序排列的。

    6.映射类型用键直接“映射”到值。

    7.键必须是唯一的,但值则不必

特点:

1、键与值用冒号“:”分开;

2、项与项用逗号“,”分开;

3、字典中的键必须是唯一的,而值可以不唯一


2、定义字典

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

3、访问字典里的值

print dict['Alice']
dict['Beth']

4、修改字典

dict['Age'] = 8


5、删除字典元素

del dict['Name']; # 删除键是'Name'的条目
dict.clear();     # 清空词典所有条目
del dict ;        # 删除词典



6、字典内置函数

cmp(dict1, dict2)   比较两个字典元素
len(dict)      计算字典元素个数,即键的总数
str(dict)      输出字典可打印的字符串表示
type(variable)   返回输入的变量类型,如果变量是字典就返回字典类型
iter(dict)对字典中的键,值或项(表示为元组)返回一个迭代器 。(key, value)

7、内置函数


iteritems(...)       迭代字典对象

iterkeys(...)        迭代字典所有key

itervalues(...)     迭代字典所有value

keys(...)           返回字典所有的keys
pop(key [,default ])

    如果key在字典中,删除它并返回其值,否则返回 默认值。如果未给出默认值,并且键不在字典中,KeyError则引发a

popitem(...) 

values(...)

radiansdict.clear()                   

radiansdict.copy()                     

radiansdict.fromkeys()                 

radiansdict.get(key, default=None)     

radiansdict.has_key(key)        

radiansdict.items()             

radiansdict.keys()              

radiansdict.setdefault(key, default=None)    

radiansdict.update(dict2)        

radiansdict.values()


五、切片

    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   # 打印组合的元组

六、数据类型转换

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)                   将一个整数转换为一个字符



转载于:https://blog.51cto.com/chbinmile/1913737