Python学习笔记5-字符串、bool、数值操作和数组字典排序
1、字符串
# 字符串数字之间转换
# x = int("6")
# print type(x) #<type 'str'>
# y = str(6)
# print type(y) #<type 'int'>
注:在python中,字符串和数值型是可以直接通过调用函数转换。 # 字符串长度方法
# foo = 'abc'
# print len(foo)
# print range(len(foo)) #以List集合的方式来显示内容 # range() 一组数字
# print range(10) #从0开始至10,输出一个集合
# print range(1,10,4) #(start,ent,[step]) [step]:每隔多少位输出一次 # foo = 'abc'
# for i in range(len(foo)):
# # %d,用来输出十进制整数
# print foo[i], '(%f)' % (i) # enumerate()
aDict = {'host': 'earth'}
aDict['port'] = 80
# for i, key in enumerate(aDict):
# print i, key, aDict[key] # type()获得对象类型
# print type(aDict)
# 使用isinstance来判断对象的类型与类型是否一样
print isinstance(6, int) #True
print isinstance(aDict, dict)
print isinstance(aDict, list)
# in 操作
# print 'bc' in 'abcd' #True
# print 'n' in 'abcd' #False
# print 'nm' not in 'abcd' #True # string 模块
# 所有和字符串操作相关的方法都在string这个模块中,字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
# import string
# print string.capitalize("hello")
# print string.lowercase
# print "HELLO".lower()
# print string.split("asdadada asdada")
# print string.rstrip(" adsd ") # or " adsd ".rstrip()
# print string.lstrip(" adsd ") # or " adsd ".lstrip()
# print string.strip(" ad sd ") # or " ad sd ".strip()
2、数值
# 对象比较支持多个比较操作
# print 3<4<7 # 相当于 (3<4) and (4<7)
# print 4>3==3 # 相当于 (4>3) and (3==3)
# print 4<3<8!=2<7 # 从左到右 # is is not
# foo1 = foo2 = 4.3
# print foo1 == foo2 #True
# print foo1 is foo2 #True # foo1 = 4.3 ; foo2 = foo1
# print foo1 == foo2 #True
# print foo1 is foo2 #True
# foo1 = 5.4
# print foo1 == foo2 #False
# print foo1 is foo2 #False # foo1 = 4.3 ; foo2 = 1.3 + 3.0
# print foo1 == foo2 #True
# print foo1 is foo2 #False # cmp(a,b) 比较大小 -1, 0 1
# print cmp(8, 7) #1
# print cmp("abs", "azs") #-1 # round() 四舍五入
# print round(100.10)
# print round(100.49)
# print round(100.50) # random 取随机数
# from random import random
# print random() #返回是一个小于1的值 # from random import randint
# print randint(1,1000) # 还可以对方法进行重命名,例:
# from random import randint as raphael
# print raphael(1,1000)
地板除
还有一种除法是//,称为地板除,两个整数的除法仍然是整数;
print 1//2 #0 #如果除数和被除数都是整数,那么结果一定是整数,即使除不尽,返回的也整数
print 1.0//2 #0.0 #如果除数和被除数中有一个不是整数,那结果将不会是整数,返回是表达式中非整数那一项的数据类型
print 1//2.0 #0.0
print 1.0//2.0 #0.0
print 11//5 #2
divmod(a,b)函数
中文说明:
divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数
返回结果类型为tuple
参数:
a,b可以为数字(包括复数)
print divmod(15,6) #(2, 3) 2:整除的结果 3:两者相除得到余数
3、bool判断
print bool([None,0])
print bool(0) #False 如果是0就认为是False
print bool(1) #True 如果大于或小于0则是True
print bool('') #False 如果是0长度的字符串则被认为是False
print bool(' ') #True 只要长度不是0,则为True
print bool('string') #True
print bool([]) #False 数组的长度为0则为False
print bool([1,2]) #True
print bool({}) #False 字典的长度为0则为False
print bool({'cj':888}) #True
4、数组字典
# del
# aList = [1,2,3]
# del aList[1]
# print aList # lambda 排序
# lambda函数也叫匿名函数,即,函数没有具体的名称。
# sort 语法:L.sort(cmp=None, key=None, reverse=False)
# data = []
# data.append({"province":"beijing","order_price":100,"user_count":100,"total_price":10000})
# data.append({"province":"shanghai","order_price":200,"user_count":50,"total_price":10000})
# data.append({"province":"shenzhen","order_price":300,"user_count":100,"total_price":30000})
# # sort排序
# data.sort(key=lambda y:(y["total_price"],y["order_price"]), reverse=True)
# for d in data:
# print d
lambda 相关文档:
http://www.cnblogs.com/BeginMan/p/3178103.html
http://www.cnblogs.com/coderzh/archive/2010/04/30/python-cookbook-lambda.html
Python学习笔记5-字符串、bool、数值操作和数组字典排序的更多相关文章
- 【Python学习笔记】字符串操作
字符串的表示 python中的字符串是一个常量,可以使用单引号'',双引号""或三引号""" """来创建一个字符串常量 ...
- matlab学习笔记10_6 字符串与数值间的转换以及进制之间的转换
一起来学matlab-matlab学习笔记10 10_6 字符串与数值间的转换以及进制之间的转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合 ...
- python学习笔记(字符串操作、字典操作、三级菜单实例)
字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...
- python学习笔记(二)文件操作和集合
集合: 集合也是一种数据类型,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复的数据 集合的作用: 1.它可以把一个列表中重复的数据去掉,而不需要你再写判断 2.可以做关系测试, ...
- python学习笔记(五)数值类型和类型转换
Python中的数值类型有: 整型,如2,520 浮点型,如3.14159,1.5e10 布尔类型 True和False e记法: e记法即对应数学中的科学记数法 >>> 1.5e1 ...
- Python学习笔记3—字符串
原始字符串 使用\转义或者r,这种方法在网站设置网站目录结构的时候非常管用. >>> dos="c:\news" >>> print dos c ...
- Python学习笔记3-文件的简单操作
Python中的文件操作 Python中文件打操作离不开两个模块 os 和 shutil os:操作文件.目录: Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话, ...
- Python学习笔记 -- 第六章 文件操作
I/O编程 在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这 ...
- Python学习笔记(2)数值类型
进制转换 int函数任意进制转换为10进制 第一个参数传入一个字符串,任意进制的,第二个参数传入对这个字符串的解释,解释他为几进制 hex oct bin转换进制为16 8 或者2进制 例题中石油87 ...
随机推荐
- USB 传输协议
Pipe USB的pipe的两端分别指的是USB host端的内存区域,和设备端的endpoint. pipe分为两类,一类是stream pipe, 另一类是message pipe. 两类的主要区 ...
- jquery $ dollar符号用法总结
参考:https://github.com/chyingp/blog/blob/master/jquery/jQuery%E6%BA%90%E7%A0%81-%E7%BE%8E%E5%85%83$%E ...
- 一次rman恢复的实验
本文主要针对备份和恢复数据文件,具体rman知识点查阅我的另一篇文章:http://blog.csdn.net/perfect_db/article/details/8765022 首先看看数据文件的 ...
- cdoj 491 Tricks in Bits
//无脑爆居然能过!!!!! 解:其实正解也是暴力,但是可以证明在n>6时答案一定为零. 第一步:对于任意两个数他们的二进制数要么有一半+的位是相同的,要么有一半+的位是不同的,于是首先使用与运 ...
- 【hihocoder 1249 Xiongnu's Land】线性扫描
2015区域赛北京赛区的三水,当时在赛场上没做出的原因是复杂度分析不正确导致把方法想复杂了.近来复习复杂度分析,觉得不能只是笼统地看渐进复杂度(big-O),更应根据算法的伪码计算真正的以基本操作数为 ...
- poj 2425 A Chess Game_sg函数
题意:给你一个有向无环图,再给你图上的棋子,每人每次只能移动一个棋子,当轮到你不能移动棋子是就输了,棋子可以同时在一个点 比赛时就差这题没ak,做了几天博弈终于搞懂了. #include <io ...
- poj 1149 PIGS_网络流
#include<iostream> #include<queue> #include<cstdio> #include<cstring> using ...
- iOS断言
来自:http://my.oschina.net/panyong/blog/205573 在看到xmpp项目中的一些代码时,看到如下,不懂该代码是啥意思, 如下: NSAssert(_xmppStre ...
- 【拓扑排序】【HDU3231】【Box Relations】
题目大意: N个盒子 给你K个以下关系 1.A和B有重叠 2.A在B的左边且不重叠 3.A在B的前边且不重叠 4.A在B的上面且不重叠 显然单独分配X坐标处理2(x1<x2<x1'< ...
- PropertyGrid—添加EventTab
零.引言 前面一篇文章介绍了如何在PropertyGrid中添加属性Tab,本文主要介绍如何添加事件选项卡.事件在许多对象中都有,尤其是在控件中,如何让对象的事件在PropertyGrid中显示出来呢 ...