0)字符串切片

py_str = 'python'
>>>py_str[0] #取第一个字符串,返回值为"p",超出范围会报错
>>>py_str[-2] #取倒数第二个字符串,返回值为"o",-1则为倒数第一
>>>py_str[2:4] #取第二和第三个字符串,返回值为"th"
>>>py_str[2:] #取第二个和后面全部的字符串,返回值为"thon"
>>>py_str[:4] #取前四个字符串,返回值为"pyth"
>>>py_str[::2] #取(步长值)0,2,4,6,8...相当于[0::2],返回值"pto"
>>>py_str[1::2] #返回值"yhn"1,3,5,7...
>>>py_Str[::-1] #反着取,返回值"nohtyp"
>>>t in py_str #返回true
>>>t not in py_str #返回false
>>>py_str.lower() #大写转换成小写
>>>py_str.upper() #小写转换成大写
>>>py_str.capitalize() #首字母大写
>>>py_str.strip() #去除字符串两边的空白(包含空格,tab键,回车等)
>>>py_str.lstrip() #去除字符串左边的空白
>>>py_str.rstrip() #去除字符串右边的空白
>>>py_str.center(3,'#') #用三个"#"填充两边,让字符串占中间(居中),输出结果为###python###
>>>'abc' + 'xyz' #合并操作,返回'abcxyz'
>>>'*' * 5 #重复操作,返回'*****'

1)列表的操作

>>>alist = [1,2,'bob','alice',[10,20]]
>>>len[alist] #输出列表长度,返回5
>>>alist[0] #查看列表第一个值,像字符串一样支持下标和切片操作
>>>alist #查看列表全部值或者alis[0:5]
>>>2 in alist #返回true
>>>'bob' in alist #返回true,字符要带引号(单引号和双引号无区别)
>>>alist.append(4) #在列表的尾处追价一个4
>>>alist.insert(3,5) #在下标为3的位置加一个5
>>>alist.sort() #按升序排列,从小到大
>>>alist.reverse #翻转,倒序
>>>alist.pop() #删除元素,默认删除最后一个
>>>alist.pop(2) #根据下标弹出元素

python 创建二维列表,将需要的参数写入 cols 和 rows 即可

>>> list_2d = [[0 for col in range(cols)] for row in range(rows)]
>>> list_2d = [ [0 for i in range(5)] for i in range(5)] #第一个for把0循环五次,第二个for把第一个for循环五次
>>> [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
>>> list_2d[0].append(3)
>>> list_2d[0].append(5)
>>> list_2d[2].append(7)
>>> list_2d
[[0, 0, 0, 0, 0, 3, 5], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 7], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

2)元组的操作 #相当于静态的列表,一旦定义不可更改,用得比较少,一般用列表比较多

>>>atuple = (1,"tom",2,"alice")    #注意此处用的是小括号(),列表用的是方括号[]

3)字典 #用大括号{}定义的键值对(key-value)映射关系,无序类型

>>>adict = {'name':'bob','age':23}    #不能像列表那样通过下标获取值
>>>len(adict) #输出字典长度为2
>>>name in adict #返回true
>>>bob in adict #返回false
>>>adict['name'] #取某个键的值,注意带引号
>>>adict['age'] = 25 #修改或删除已有键/值对
>>>del adict['name'] #删除键是'name'的条目
>>>dict.clear() #清空词典所有条目
>>>del adict #删除词典
>>>print adict.get('age') #打印age这个key所对应的value值,若没有则返回none
>>>adict.values() #以列表返回字典中的所有值
>>>adict.items() #数以列表返回可遍历的(键, 值) 元组数组。

4)数字类型比较
=按存储模型分类
 -标量类型:数值、字符串
 -容器类型:列表、元组、字典
=按更新模型分类
 -可变类型:列表、字典
 -不可变类型:数字、字符串、元组
=按访问模型分类
 -直接访问:数字
 -顺序访问:字符串、列表、元组
 -映射访问:字典
blist = alist #则blist改变alist也改变,因为两个列表指向同一个内存空间
clist = alist[:] #alist的数据重头到尾出赋值給clist,clist改变不影响alist,因为clist拿到alist的值去创建了新的内存空间

5)以上的类型都是可迭代得对象,一般用for循环迭代
-判断对象是否可迭代:通过collections模块的Iterable类型判断

>>>from collections import Iterable    #倒入模块
>>>isinstance('a','bb') #返回true表示可迭代,false表示不可迭代

-如何对list实现类似java那样的下标循环?
python内置的enumerate函数可以把一个list变成(索引-元素)对,这样就可以在for循环中同时迭代索引和元素

>>>for i,value in enumerate(['a','b','c'])
>>> print i,value
0 a
1 b
2 c

最新文章

  1. 关于HTML面试题汇总之H5
  2. 基于VC的声音文件操作(三)
  3. 安装grunt
  4. POJ 1625 Censored!(大数+DP)
  5. Mac命令行语法高亮设置
  6. AI
  7. 基于jQuery打造的选项卡向上弹出jquery焦点图切换特效
  8. php字符串与正则表达式试题 Zend权威认证试题讲解
  9. window.location.href问题,点击,跳转到首页
  10. css伪类选择器详细解析及案例使用-----伪类选择器(1)
  11. websocket 通信协议
  12. mysql用户权限分配及主从同步复制
  13. Java设计模式菜鸟系列(两)建模与观察者模式的实现
  14. libusb 开发者指南-牛胜超(转)
  15. 【2017年新篇章】 .NET 面试题汇总(二)
  16. ThinkPHP中:add()和addAll()的区别
  17. ES6字符串方法
  18. Android通过聚合数据API实现天气预报
  19. MySQL 大数据备份方案之Percona XtraBackup
  20. 我有特殊的Windows激活姿势

热门文章

  1. STM32中使能时钟的目的
  2. Java基础之ArrayList类
  3. php操作redis--字典(hash)篇
  4. ArrayList,LinkedList,Vector集合的认识
  5. NOIP模拟测试18(T3待更新)
  6. 【书上讲解】最大m段子段和问题
  7. noip1998 提高组t3 挖地雷
  8. 30天轻松学习javaweb_修改tomcat的servlet模板
  9. IdentityServer4认证服务器集成Identity&配置持久化数据库
  10. 【AI图像识别一】人脸识别测试探索