乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
python 0.01 数据类型
2017-01-14 03:37:49
214
0
0
admin
> python 的变量,数组等。。。。 **del xxx 可以删除一个数据结构** #变量 ##赋值 ``` var="xxx" var='''xx xxxx ''' #这样赋值可以插入引号而不用转义 var=r"xxx" #原始字符串赋值,其中的\不代表转义 多变量赋值 a,b,c = "xx","xx","xx" a = b = c = "xx" unset 某个变量 dev var ``` ##变量运算 ``` 字符串相连 var = var1 + var2 #这个方式在只有一次计算的时候比较高效 var = "".join(var1,var2...) #由于+的方法每次赋值都要申请新的内存空间,所以元素多的时候效率不高 >>> var='123456' #字符串可以理解成一种用字符组成的序列 >>> var[0] '1' >>> var * 3 #重复一个字符串多遍 '123456123456123456' >>> '2' in var #判断字符2 是否属于字符串var True 数字计算 a + b #求和 a * b #乘法 a / b #除法,两边都是整数就返回整数,有浮点数就返回浮点数 a // b #除法,无论如何返回整数 a % b #求余数 a ** b #a的b次方 ``` ##关于变量的一些函数 ``` len(var) #获取字符串长度 比较大小 result = cmp(a,b) 如果a<b返回-1, 如果a==b返回0, 如果a>b返回1。 数据类型转换 str(var) 转换为字符串,一般是数字 float(var) 转换成浮点数 int(var) 转换成整数 long(var) 转换成长整数 ``` *** #数组 ##列表赋值,运算 ``` >>> array = [ '1', 'w', 'p' ] #声明列表 >>> 'w' in array #判断元素'w'是否属于数组array True >>> array[0] '1' >>> array[1:] #取第二个到最后一个元素 ['w', 'p'] >>> array_new = array[:] #取整个列表,这种方式是值传递 >>> array2 = array + array #连接列表 >>> array2 ['1', 'w', 'p', '1', 'w', 'p'] >>> array3 = array * 3 #重复一个数组多遍 >>> array3 ['1', 'w', 'p', '1', 'w', 'p', '1', 'w', 'p'] ``` ##关于列表下标的技巧 ``` >>> array2 ['1', 'w', 'p', '1', 'w', 'p'] >>> array2[2:4] #第三到第四个元素 ['p', '1'] >>> array2[0:100:2] #从头到尾,每2个取一个,第三个值是“步长” ['1', 'p', 'w'] >>> array2[0::2] #从头到尾,每2个取一个,第三个值是“步长” ['1', 'p', 'w'] >>> array2[100:0:-2] #步长为负则从右往左取数 ['p', '1', 'w'] >>> array2[3:3]=['haha','wawa'] #通过下标插入数组 >>> array2 ['1', 'w', 'p', 'haha', 'wawa', '1', 'w', 'p'] >>> array2[3:6] = [] #通过下标删除一些元素,同 del array2[3:6] >>> array2 ['1', 'w', 'p', 'w', 'p'] ``` ##关于列表的函数 ``` len(array) #数组元素的个数 max(array) or max(a,b,c..) #取最大值 min(array) or min(a,b,c..) #取最小值 array.append("xx") #在列表末尾添加xx作为元素 array.extend(array2) #在列表结尾加入另一个列表,与array1+array2的区别是一个修改现有数组,一个返回新数组 array.insert(n,'x') #把'x'插入下标n的位置 var=array.pop(int) #移除下标为int的元素,赋值给var,默认是最后一个 >>> list("12345") #可以将字符串或者一些对象转化为数组 ['1', '2', '3', '4', '5'] array.count('x') #计算'x'作为元素出现的次数 array.index('x') #找到第一个匹配'x' 元素的下标 array.reverse() #将列表的元素反向存放 array.sort() #排序 >>> array=['1','22','333','4444','55555'] >>> array.sort(key=len,reverse=True) #按元素字符串长度排序,反序 >>> array ['55555', '4444', '333', '22', '1'] ``` ##元组(不能二次赋值的数组) ``` array= ( "1" , 2 , "qwe" ) #声明元组,圆括号可不要 tuple(list) #返回一个列表的元组版本 ``` *** #HASH ##字典(dict) **声明,赋值** ``` >>> dict= {} #申明一个字典 >>> dict["lala"]="haha" #赋值 >>> dict["wawa"]="kaka" >>> dict {'wawa': 'kaka', 'lala': 'haha'} >>> dict['wawa'] 'kaka' dict.get('xx') #取某个键对应的值,键不存在不报错 dict.setdefault('key','value') #如果key 存在,返回对应的value,如果不存在,则赋值default value dict.update(other_dict) #用一个字典更新另一个字典 ``` **字典的函数** ``` hash1=hash.copy #普通copy,对于对象只copy 引用 import copy hash2=copy.deepcopy(hash) #完全copy,会copy 对象 hast.keys() #列出所有键 hash.values() #列出所有值 hash.has_key("wawa") #判断是否存在key "wawa" >>> "wawa" in dict #判断是否存在key "wawa" True new_dict={}.fromkeys([1,2,3]) #以给定的数组作为键创建字典 dict.pop('x') #获取给定键的值,并将该键值对从hash 中移除 dict.items() dict.iteritems() #把所有键值对以列表形式返回,或者返回迭代器 dict.values() dict.itervalues() #把所有值以列表形式返回,或者返回迭代器 dict.clear() #清除所有键值对 ``` ##集合(set) set是一种用hash 实现的类似与列表的数据结构,说人话就是每个元素唯一的数组,相当于: ``` set=`cat list | sort | uniq ` ``` **使用** ``` 给数组去重 >>> a=set([1,2,3,1,2,3]) >>> a set([1, 2, 3]) >>> b=list(a) #把数据类型转换回list >>> b [1, 2, 3] 加入元素 >>> a.add(4) #增加元素4 >>> a.update([5,6]) #增加数组的元素5,6 作为set 的元素 >>> a.update({7:"a",8:"b"}) #增加hash 的key7,8 作为set 的元素 >>> a set([1, 2, 3, 4, 5, 6, 7, 8]) 删除元素 >>> a.discard(1) #删除1,若1不存在,不报错 >>> a.remove(2) #删除2,若2不存在,报错 >>> a.pop() #随机删除并返回一个值 3 >>> a set([4, 5, 6, 7, 8]) >>> len(a) #set 的元素个数 5 >>> a.clear() #清除set 所有元素 其它给力的计算 >>> a,b,c,d (set([1, 2, 3]), set([3, 4, 5]), set([1, 2]), set([1, 2, 3, 4])) >>> c <= a #a 是不是包含c True >>> c < a True >>> d >= a #d 是不是包含a True >>> d > a True >>> 1 in a #1 是不是 a 的一个元素 True >>> a | b #返回 a,b 的合集 set([1, 2, 3, 4, 5]) >>> a & b #返回 a,b 的交集 set([3]) >>> a - b #返回a有b没有的 set([1, 2]) >>> a ^ b #返回a , b 独自有的, 就是a,b 合集减去a,b 交集 set([1, 2, 4, 5]) ``` *** #对象 Python 里赋值的时候,除了不可变的变量其它时候赋值的时候都是默认引用赋值 例子: ==/!= 是否相等 is/is not 是否是同一个对象 ``` >>> a = [1,2,3] >>> b = [1,2,3] >>> a == b #相同 True >>> a is b #不是同一个 False >>> a = b >>> a == b #相同 True >>> a is b #同一个 True >>> a=1 >>> type(a) #判断对象的类型 <type 'int'> >>> type(a) is int #判断对象是不是int True >>> isinstance(a,int) #判断对象是不是int True ```
上一篇:
python 0.0 介绍
下一篇:
python 0.02 控制流
文档导航