Python 数据结构

2017-06-24 14:34:39

1、整数和长整数

 

2、浮点数

 

3、复数,形如1+4j等

 

4、字符串 单引号双引号均可,也有三引号的写法,三引号的作用是为了实现多行字符串的操作

常用函数:

len():得到字符串的长度

 

5、列表list

打了激素的数组,相比于c++里的数组,列表要强悍的多,无分数据类型,都可以放进去。列表是一个可变的数据类型,形如:a=[0,1,2,3]

访问元素和数组一致,list[0]...,下标值可以是负数,list[-1]表示最后一个数,list[:]表示整体的一个拷贝,list[:-1]表示除了最后一个数的切片

同时可以切片list[0:3],依然是前开后闭,即只有0,1,2,类似于matlab

可以用for item in list:来遍历列表

列表是一个序列

列表综合就是通过一个列表来得到另一个列表

mylist = [1,2,4,8]

myother = [2*i for i in mylist if i>=2 ]

print(myother)

 

常用的函数:

.len():列表长度

.append():末尾添加一个元素

.extend():参数类型为列表 ,在末尾添加多个元素

.insert(pos,key):在pos位置添加key

.remove(key):删除首个key

del list[0]:根据下标来删除,可以删除整个列表

 

6、元组 tuple

元祖和列表非常类似,只是元祖是不可变的

元祖一般的表示方法为a=(1,2,3),逗号是标识元组的根本,如果去掉(),其数据类型依然是元组

元组的元素不可增删改

空元组 a=()

只含有一个元素的 a=(1,),逗号必不可少

元组的一个具体使用的例子就是print函数

name = "TIMHY"
age = 22

print("%s的年龄是%d" %(name,age))

元组是一个序列

 

7、字典 dict

类似于stl 中的map,采用的是key,value的存储形式,具体形式:a={'a'=1,'b'=2,'c'=3}

字典的添加也和map一样,即a['d']=4

字典的删除和list一样,使用索引值可以完成删除操作,即del a['a']

可以使用for aipha,number in a.items():完成遍历

dict.get(key, default=None) 函数返回指定键的值,如果值不在字典中返回默认值,第二个参数可以自行设定。

dict.update(dict2):函数把字典dict2的键/值对更新到dict里,无返回值

 

8、集合 set

与数学中的集合定义是一致的,也就是说具有唯一性,无序性(这和stl中的set是不同的,stl 中的会自动排序,因为底层使用的是红黑树实现的)

初始化方法有两种,一是a={1,2,3}

另外也可以使用list来初始化集合,a=set(list)

常用函数:

.add(key):添加一个数

.remove(key):由于set的无序性,所以只能用remove()方法来根据数值删除元素,无法通过下标完成删除

支持 x in set, len(set),和 for x in set 

 

frozenset:不可变集合,初始化后则无法修改

 

其他的一些内容:

函数传参:*args 表示元组,**args表示字典,就是说在参数有剩余的时候会自动转为元组,和字典进行传参

def fun(list):
    rst=0
    for i in list:
        rst+=i
    return rst

ls=[1,2,3]
print(fun(ls))

def fun1(*list):
    rst=0
    for i in list:
        rst+=i
    return rst

print(fun1(1,2,3))

 

type():用来判断变量类型

isinstance()函数: 判断数据类型
isinstance(520,int) 得到true

eval(string s): 计算字符串中符合python表达式规范的式子值

ls=[1,2,3]
print(eval(repr(ls)))
print(eval("1+5*6"))

repr将对象转成字符串,一般用做输出用,没有实际意义,区别与str(),因为str()函数是将数值转成字符串。一般来说有eval(repr(a))==a

posted @ 2017-06-24 16:54  hyserendipity  阅读(213)  评论(0编辑  收藏  举报