Python常用的内置序列结构(列表、元组、字典)学习笔记


Posted in Python onJuly 08, 2016

列表与元组
列表用大括号[]表示,元组用圆括号()表示。
列表可以修改,字符串与元组不可修改。
元组的分片还是元组,列表的分片还是列表。

1.列表方法:

name=["zhang3","li4","wang5"]
name.append("gou6") #添加项
name.remove("gou6") #移除第一个匹配项,也可用del name[3]来移除
name.insert(3,"gou6") #插入项
name.index("gou6") #找出第一个匹配项的位置
name.extend(["gou6","xuan7"]) #扩展
name.pop(0) #返回列表的第一项值并从列表中删除之

2.列表函数:

>>> a=list("hi guys") #把字符串转换为列表
>>> print a
['h', 'i', ' ', 'g', 'u', 'y', 's']
>>> ''.join(a)  #把列表还原成字符串
'hi guys'
>>> max(a) #取得列表的最大元素
'y'
>>> len(a) #取得列表长度
7
>>> min(a) #取得最小元素
' '
>>> tuple(a) #将列表转换为元组
('h', 'i', ' ', 'g', 'u', 'y', 's')
>>> sorted(a) #将列表元素排序
[' ', 'g', 'h', 'i', 's', 'u', 'y']

3.列表遍历:

A,使用for语句遍历

for each_item in name:
   print(each_item)

B,使用while语句遍历

i=0
while i < len(name):
   print(name[i])
   i += 1

4.成员资格1:

>>> sub="hello, you are a bear"
>>> "bear" in sub
True
>>> "y" in sub
True
>>> raw_input("what's your name?") in sub
what's your name?bear
True

5.成员资格2:

database=[
["zhang3","0111"],
["li4","0112"],
["wang5","0113"]
]
username=raw_input("what's your user name?")
id=raw_input("what's your id?")
if [username,id] in database: print "access granted"

6.找出10以内的整数

s = [x for x in range(0, 10) if x % 2 == 0]

7.生成九九乘法表

s = [(x, y, x*y) for x in range(1, 10) for y in range(1,10) if x>=y]

字符串

1.获取字符串 

name=raw_input("what's your name?")
      print "Hello," + name + ".welcome to us"

注意:Pyhton3.x版本取消了raw_input,统一使用input
输出值:

print name + repr(x)
#str用于把值转换为合理的字符串,repr创建一个字符串,返回值的字符串形式
#str是一种类型(和int一样),repr是函数

2.换行符用\n表示
原始字符串,以字符串前加一个r即可,如

print r"c:\nowindows\no"
path="c:\nowindows\no"; print repr(path)

3.Unicode字符串

print u"redhat"

注意:Pyhton3.x版本所有字符串都是unicode字符串
定义字符串时,双引号和单引号都是可以用的,只不过用单引号的时候可以在字符串里面使用双引号
布尔值:

>>> bool('i love you')
True
>>> bool(42)
True
>>> bool(1)
True
>>> bool('0')
True
>>> bool(0)
False
>>> bool('')
False

4.字符串方法

>>> tag="<a href=http://www.baidu.com>baidu indexpage</a>"
>>> print tag[8:28] #字符串分片
http://www.baidu.com
>>> print tag[29:-4] #字符串分片
baidu indexpage
>>> tag.replace("www.baidu.com","home.sina.com") #字符串替换
'<a href=http://home.sina.com>baidu indexpage</a>'

>>> dirs=["","usr","bin","env"]
>>> "/".join(dirs)  #将列表拼接成字符串
'/usr/bin/env'
>>> print ("C:" + "\\".join(dirs))
C:\usr\bin\env

>>> path="/usr/bin/env"
>>> path.split("/") #将字符串分割成列表
['', 'usr', 'bin', 'env']

5.其它字符串方法

>>> s=' I Love you!  '
>>> s.lower() #转换字符串的小写
' i love you!  '
>>> s.upper() #转换字符串的大写
' I LOVE YOU!  '
>>> s.title() #换换字符串为标题(所有单词首字母大写)
' I Love You!  '
>>> s.islower() #判断字符串是否为小写(也可判断大写和标题)
False
>>> s.strip()  #去除首尾空格,lstrip去除左边空格,rstrip去除右边空格
'I Love you!'
>>> word=s.split() #分割
>>> word
['I', 'Love', 'you!']
>>> '::'.join(word) #合并
'I::Love::you!'
>>> s.count('o') #统计出现次数
2
>>> s.find('you') #查找位置,如果找不到,则返回-1
9
>>> s.startswith('python')
False
>>> s.replace('you','yours')
' I Love yours!  '
Python 相关文章推荐
Python 元组(Tuple)操作详解
Mar 11 Python
Matplotlib 生成不同大小的subplots实例
May 25 Python
浅析python继承与多重继承
Sep 13 Python
django celery redis使用具体实践
Apr 08 Python
在Python中获取操作系统的进程信息
Aug 27 Python
PyTorch和Keras计算模型参数的例子
Jan 02 Python
Python 实现训练集、测试集随机划分
Jan 08 Python
解决Python数据可视化中文部分显示方块问题
May 16 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
May 26 Python
浅析python中的del用法
Sep 02 Python
Python中X[:,0]和X[:,1]的用法
May 10 Python
Python 详解通过Scrapy框架实现爬取CSDN全站热榜标题热词流程
Nov 11 Python
使用Python读写及压缩和解压缩文件的示例
Jul 08 #Python
Python中的FTP通信模块ftplib的用法整理
Jul 08 #Python
Python中使用platform模块获取系统信息的用法教程
Jul 08 #Python
Python中的os.path路径模块中的操作方法总结
Jul 07 #Python
简介Python的collections模块中defaultdict类型的用法
Jul 07 #Python
Python的collections模块中的OrderedDict有序字典
Jul 07 #Python
Python的collections模块中namedtuple结构使用示例
Jul 07 #Python
You might like
php中通过虚代理实现延迟加载的实现代码
2011/06/10 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
2016/04/30 PHP
PHP获取不了React Native Fecth参数的解决办法
2016/08/26 PHP
PHP判断密码强度的方法详解
2017/05/26 PHP
Mac下关于PHP环境和扩展的安装详解
2019/10/17 PHP
ImageFlow可鼠标控制图片滚动
2008/01/30 Javascript
30个让人兴奋的视差滚动(Parallax Scrolling)效果网站
2012/03/04 Javascript
javascript 判断中文字符长度的函数代码
2012/08/27 Javascript
jquery限制输入字数,并提示剩余字数实现代码
2012/12/24 Javascript
js为空或不是对象问题的快速解决方法
2013/12/11 Javascript
jQuery中remove()方法用法实例
2014/12/25 Javascript
vuejs2.0子组件改变父组件的数据实例
2017/05/10 Javascript
JS实现自定义状态栏动画文字效果示例
2017/10/12 Javascript
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
Angular17之Angular自定义指令详解
2018/01/21 Javascript
浅谈实现vue2.0响应式的基本思路
2018/02/13 Javascript
详解vue项目打包后通过百度的BAE发布到网上的流程
2018/03/05 Javascript
node实现分片下载的示例代码
2018/10/17 Javascript
详解JavaScript中的强制类型转换
2019/04/15 Javascript
Vue中img的src是动态渲染时不显示的解决
2019/11/14 Javascript
python使用xlrd实现检索excel中某列含有指定字符串记录的方法
2015/05/09 Python
python妹子图简单爬虫实例
2015/07/07 Python
举例讲解Python设计模式编程的代理模式与抽象工厂模式
2016/01/16 Python
Django基于ORM操作数据库的方法详解
2018/03/27 Python
利用python在excel里面直接使用sql函数的方法
2019/02/08 Python
Python笔记之facade模式
2019/11/20 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
2020/04/27 Python
会计与审计专业自荐信范文
2014/03/15 职场文书
毕业自我鉴定书
2014/03/24 职场文书
年度评优评先方案
2014/06/03 职场文书
学生会辞职信
2015/03/02 职场文书
身份证丢失证明
2015/06/19 职场文书
2016参观监狱警示教育活动心得体会
2016/01/15 职场文书
2016年三八红旗手先进事迹材料
2016/02/26 职场文书
Python中requests做接口测试的方法
2021/05/30 Python
低版本Druid连接池+MySQL驱动8.0导致线程阻塞、性能受限
2021/07/01 MySQL