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)最原始的 ...
随机推荐
- Unity大中华区主办 第二届Unity 游戏及应用大赛 实力派精品手游盘点
Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏.建筑可视化.实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎.包含如今时 ...
- Linux网桥介绍
网桥的功能类似于二层交换机,作用都是划分冲突域,它们之前且一些细微的差别,此处不展开. Linux网桥作为一个特殊的网桥的实现,有一些自己的特点,因为没有看代码,只能从功能上简单分析一下.个人认为,L ...
- 【线段树】【4-6组队赛】Problem H
Problem Description #include <iostream> #include <algorithm> using namespace std; int n, ...
- 简单的CSS网页布局--一二列布局
1.一列布局 (一)一列自适应 自适应浏览器,随着浏览器的拉伸而变化,一般宽度采用百分比的写法,很简<!DOCTYPE html> <html> <head lang=& ...
- zen-Coding的使用
zen-Coding的使用 zen-Coding的使用需要掌握CSS和HTML相关知识.其实只要对CSS的选择器比较熟悉,就可以得用简短的类似于CSS选择器的代码高效的编写出HTML代码.打开Note ...
- iOS堆栈-内存-代码在据算机中的运行
其实作程序不管是那行,学什么语言最终的目的是和就算机打交道的,我们写的程序计算机是怎么处理的呢??? 计算机运行我们的程序无非就是吧磁盘-内存-cpu三者结合起来 我们写一个程序代码肯定是在此盘中存着 ...
- C 运算符与表达式
运算(操作)是对数据的加工.最基本的运算形式常常可以用一些简洁的符号来记忆,这些符号称为运算符或操作符.被运算的对象-数据称为运算量或操作数.表达式描述了对哪些数据.以什么顺序以及施加什么样的操作.运 ...
- C#:获取时间年月日时分秒格式
//获取日期+时间 DateTime.Now.ToString(); // 2008-9-4 20:02:10 DateTime.Now.ToLocalTime().ToStri ...
- Algorithms 4th - 1.1 Basic Programming Model - CREATIVE PROBLEMS
欢迎交流 1.1.26 public class TestApp { public static void main(String[] args) { int a = StdIn.readInt(); ...
- zxing源码分析——QR码部分
Android应用横竖屏切换 zxing源码分析——DataMatrix码部分 zxing源码分析——QR码部分 2013-07-10 17:16:03| 分类: 默认分类 | 标签: |字号大中 ...