day5_python学习笔记_chapter6_字符串列表元组
1. 序列:seq[n], seq[x:y], seq * n序列重复n次,切片, 序列翻转 s=”abcde", s[::-1]="edcba"
内建函数:1. 类型转换: list(iter), str(obj), unicode(obj), tuple(iter) , 2. len(seq), max(), min() , reversed(), sorted(), sum(),
------------------------------------------------------------------------------------------------------------------------------
2. 字符串: in ,not in ,,, import string , string.uppercase="ABCD....XYZ", string.digits = '0123456789'
3. string.upper(str), str1.join(str): 用str1将字符串str连接起来, eg:'-'.join('abc') = 'a-b-c'
4. 字符串格式化操作符%, %c, %r, %s, %d, %f , %%(输入百分号)
5. 字符串模板:substitute, safe_substitute(), 前者更为严谨
from string import Template
s = Template('There are $(howmany} ${lang} ccc)
print s.substitute(lang="python", howmany=3)
6. 原始字符串操作符(r/R)
7. 内建函数, enumerate(), zip(): 返回一个字符串列表 s='123', t='abc', zip(s, t), [('1', 'a'), ('2', 'b'), ('3', 'c')]
raw_input(),
string.capitalize(),将字符串第一个字符大写
string.count(str, beg=0,end=len(string))返回str在字符串中出现的次数
string.decode(encoding="UTF-8" errors='strict') 解码
string.encode(encoding="utf-8" errors='strict') 编码
string.endswith(obj, beg=0, end=len(string)) 检查字符串是否以obj结束,返回True,或False
string.expandtabs(tabsize=8) 把字符串中的ab符号转换为空格
string.find(str, beg=0, end=len(string)), string.index(str, beg, end)跟find()方法一样,只不过如果str不爱string中会报异常
string.isalnum(), string是字符或者数字
string.isalpha() string都是字母
string.isdecimal()
string.isdigit()
string.islower()
string.isnumeric()
string.isspace() , 只包含空格返回true
string.join(seq) ,用string将seq分割开来
string.ljust 左对齐
string. lower()
string.lstrip() ,截掉string左边的空格
string.partition(str), 从str第一次出现的地方, 将string分割成三部分
string.replace(str1, str2, num), 把string中的str1替换为str2, 如果num制定,则替换不超过num次
string.rfind(str, beg, end) ,从右边查找,string.rindex() 从右边查找 string.rpartition(str),
string.startswith(obj,beg, end)
string.swapcase(),翻转string中的大小写
string.upper()
string.split(str, num) ,以str分割string,不超过num次 'abcbe'.split('b', 2) = ['a','c','e']
-----------------------------------------------------------------------------------------------------------------------------------------
8. 列表
1. list.append(str), del list[1], in , not in , 连接操作符“+” list1 + list2。 重复操作符 *, list1 * 2
2. 内建函数 len(), max(), min(), sorted(), reversed(), enumerate(), zip(), sum(), list(), tuple()
list.append(obj), list.count(obj),计算obj出现的次数, list.extend(seq),把序列seq的内容添加到list中, list.insert(index, obj), list.pop(index=-1), 删除并返回制定位置的对象,默认是最后一个对象,list.remove(obj), 从列表中删除对象obj,list.reverse(),
原地翻转,list.sort(func=None, key=None, reverse=False)
sort() 无返回值,sorted(), reversed()有返回值。
用列表模拟栈的操作:
'''
Created on 2014-5-11
@author: jyp
'''
stack = []
def push():
stack.append(raw_input("Enter new String: ").strip())
def pop():
if len(stack) ==0:
print "stack is null"
else:
print "Removed: [" ,`stack.pop()`, "]"
def veiwstack():
print stack
CMDs = {'u': push, 'o': pop, 'v': veiwstack }
def showmenu():
pr = """
p(U)sh
p(O)p
(V)iew
(Q)uit
Enter your choice: """
while True:
while True:
try:
choice = raw_input(pr).strip()[0].lower()
except (EOFError, KeyboardInterrupt, IndexError):
choice = 'q'
print '\n You picked: %s' % choice
if choice not in 'uovq':
print 'invalid option, try agagin'
else:
break
if choice == 'q':
break
CMDs[choice]()
if __name__ == '__main__':
showmenu()
模拟队列操作:只需将上述代码中def pop() 函数中的,`stack.pop()` 改为:`stack.pop(0)`
--------------------------------------------------------------------------------------------------------------------------------------------
9. 拷贝对象, 深拷贝,浅拷贝, 浅拷贝相当于将对象的引用赋值给另一个对象, 并未拷贝这个对象,只是拷贝了对象的引用。
浅拷贝: 1. 使用切片操作进行浅拷贝, 2. 使用工厂方法。
eg: person= ['name', ['savings', 100]]
hubby = person[:] #通过切片操作[:]
wifey = list(person) #通过工厂函数实现浅拷贝
2. 深拷贝: import copy wifey = copy.deepcopy(person);
day5_python学习笔记_chapter6_字符串列表元组的更多相关文章
- 1.C#基础学习笔记3---C#字符串(转义符和内存存储无关)
技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com ------------------------------------- ...
- Python第三天 序列 数据类型 数值 字符串 列表 元组 字典
Python第三天 序列 数据类型 数值 字符串 列表 元组 字典 数据类型数值字符串列表元组字典 序列序列:字符串.列表.元组序列的两个主要特点是索引操作符和切片操作符- 索引操作符让我 ...
- Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式
Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式 目录 Pycharm使用技巧(转载) Python第一天 安装 shell ...
- KVM虚拟化学习笔记系列文章列表(转)
Kernel-based Virtual Machine KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之k ...
- 【学习笔记】字符串—马拉车(Manacher)
[学习笔记]字符串-马拉车(Manacher) 一:[前言] 马拉车用于求解连续回文子串问题,效率极高. 其核心思想与 \(kmp\) 类似:继承. --引自 \(yyx\) 学姐 二:[算法原理] ...
- 「学习笔记」字符串基础:Hash,KMP与Trie
「学习笔记」字符串基础:Hash,KMP与Trie 点击查看目录 目录 「学习笔记」字符串基础:Hash,KMP与Trie Hash 算法 代码 KMP 算法 前置知识:\(\text{Border} ...
- 《Python基础教程(第二版)》学习笔记 -> 第二章 列表和元组
本章将引入一个新的概念:数据结构. 数据结构是通过某种方式阻止在一起的数据元素的集合,这些数据元素可以是数字或者字符,设置可以是其他数据结构. Python中,最基本的数据结构是序列(Sequence ...
- python学习笔记(一)---字符串与列表
字符串的一些处理 字符串的大小写 name="lonmar hb" print(name.upper())#全大写 print(name.lower())#全小写 print(na ...
- Python学习笔记--Python字符串连接方法总结
声明: 这些总结的学习笔记,一部分是自己在工作学习中总结,一部分是收集网络中的知识点总结而成的,但不到原文链接.如果有侵权,请知会,多谢. python中有很多字符串连接方式,总结一下: 1)最原始的 ...
随机推荐
- sctf pwn300
拿到程序后,拉入IDA,大概看了一番后,尝试运行,进一步了解程序的功能. 发现NX enabled,No PIE. 一号是一个猜数字的游戏,二号是一个留言本,三号是打印出留言的内容,四号是退出. 观察 ...
- HTML5实现坦克大战(一)
Tank 字段 x:坦克的中心点的横坐标 y:坦克的中心点的纵坐标 dir:坦克的前进的方向 spped:坦克的速度 color:坦克的颜色,用于区分种类不同的坦克 bullet:坦克的子弹 为a ...
- Excel 提供数据 更新或者插入数据 通过函数 自动生成SQL语句
excel 更新数据 ="UPDATE dbo.yt_vehicleExtensionBase SET yt_purchase_date='"&B2&"' ...
- Oracle的用户管理,授权及备份
一.用户进行授权的操作 创建用户:刚刚创建的用户并没有任何权限 CREATE USER 用户名 indentife BY 密码 授权: GRANT 权限1,权限2... TO 用户权限有:CREAT ...
- 20151113--JSTL
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- Jexus下配置多个站点
一.在jexus中一个配置文件就是一个站点,有多少个配置文件就可以创建多少个站点 配置文件所在的位置 在siteconf中有一个最基本的配置 default ##################### ...
- QF——UI之UIImageView及UIView的形变属性transform
UIImageView: 专门用来放置图片的视图.它里面放置的图片是[UIImage imageNamed: (NSString) imgName]生成的,注意千万别只写成图片NSString类型的名 ...
- php消息队列
Memcache 一般用于缓存服务.但是很多时候,比如一个消息广播系统,需要一个消息队列.直接从数据库取消息,负载往往不行.如果将整个消息队列用一个key缓存到memcache里面.对于一个很大的消息 ...
- Twisted No module named win32api
安装twisted成功后,使用时抛错: No module named win32api 解决方案,需要安装 pywin32 下载地址: https://sourceforge.net/project ...
- windows下python2和python3共存
相信很多朋友都在网上搜索过python多版本共存的问题. 多说的说法都是修改python.exe的名字为python2.exe或者python3.exe. 但是我按照这样的方法却总是不成功. 修改py ...