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抓taobao图片爬虫
Oct 26 Python
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
Apr 25 Python
基于Python3 逗号代码 和 字符图网格(详谈)
Jun 22 Python
基于Python对象引用、可变性和垃圾回收详解
Aug 21 Python
使用python 爬虫抓站的一些技巧总结
Jan 10 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
Jun 04 Python
更新修改后的Python模块方法
Mar 03 Python
Python中字符串与编码示例代码
May 20 Python
PyQt5的安装配置过程,将ui文件转为py文件后显示窗口的实例
Jun 19 Python
python如何查看安装了的模块
Jun 23 Python
Pycharm安装python库的方法
Nov 24 Python
python绘制箱型图
Apr 27 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/04/17 PHP
Array of country list in PHP with Zend Framework
2011/10/17 PHP
PHP中使用json数据格式定义字面量对象的方法
2014/08/20 PHP
PHP检测用户语言的方法
2015/06/15 PHP
php基于curl实现的股票信息查询类实例
2016/11/11 PHP
PHPMailer ThinkPHP实现自动发送邮件功能
2018/06/10 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
2019/10/22 PHP
js列举css中所有图标的实现代码
2011/07/04 Javascript
js用Date对象处理时间实现思路及代码
2013/01/31 Javascript
javascript弹出页面回传值的方法
2015/01/28 Javascript
通过伪协议解决父页面与iframe页面通信的问题
2015/04/05 Javascript
拥Bootstrap入怀——导航栏篇
2016/05/30 Javascript
使用bootstrap-paginator.js 分页来进行ajax 异步分页请求示例
2017/03/09 Javascript
JS实现新建文件夹功能
2017/06/17 Javascript
解决Extjs下拉框不显示的问题
2017/06/21 Javascript
vue组件的写法汇总
2018/04/12 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
2020/10/29 Javascript
vue keep-alive的简单总结
2021/01/25 Vue.js
[43:41]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
利用Python实现图书超期提醒
2016/08/02 Python
Python二叉树的定义及常用遍历算法分析
2017/11/24 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
2018/04/23 Python
Python 编程速成(推荐)
2019/04/15 Python
python 实现查找文件并输出满足某一条件的数据项方法
2019/06/12 Python
opencv3/C++图像像素操作详解
2019/12/10 Python
django实现HttpResponse返回json数据为中文
2020/03/27 Python
大学生创业计划书的用途
2014/01/08 职场文书
班班通校本培训方案
2014/03/12 职场文书
酒店管理求职信范文
2014/04/06 职场文书
2014年商场国庆节活动策划方案
2014/09/16 职场文书
创业计划书之水果店
2019/07/18 职场文书
少年的你:世界上没有如果,要在第一次就勇敢的反抗
2019/11/20 职场文书
导游词之晋城蟒河
2019/12/12 职场文书
「魔导具师妲莉亚永不妥协~从今天开始的自由职人生活~」1、2卷发售宣传CM公开
2022/03/21 日漫
MySQL学习必备条件查询数据
2022/03/25 MySQL
Python测试框架pytest核心库pluggy详解
2022/08/05 Golang