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)最原始的 ...
随机推荐
- Net常用命名空间和类介绍
一.基础命名空间 l System.Collections 包含了一些与集合相关的类型,比如列表,队列,位数组,哈希表和字典等. l System.IO 包含了一些数据流类型并提供了文件和目录同步 ...
- SSIS之数据转换用法
当SSIS报错为:“无法在unicode和非unicode字符串数据类型之间转换”,可以考虑用数据转换器实现,很简单,如下图: 第一步,找到数据转换器: 第二步,编辑数据转换器: 第三步:编辑目标映射 ...
- android的二进制和十六进制的相互转换工具类(一):
二进制和十六进制的相互转换工具类: package com.gzcivil.utils; public class BinStr { /** * 将二进制转换成16进制 * @param buf * ...
- SQL游标+递归查询客户子客户转换率
ALTER PROCEDURE [dbo].[Account3YearsConversion ] as DECLARE @AccountId UNIQUEIDENTIFIER , @yearbefor ...
- Row versus Set Processing, Surprise!(集合处理和单行处理数据的差异性)
Row versus Set Processing, Surprise! Craig Shallahamer: 1. Set based processing will likely be much ...
- GCD 的初步认识
1.什么是 GCD? GCD为Grand Central Dispatch的缩写 (GCD)是Apple开发的一个多核编程的较新的解决方法.它主要用于优化应用程序以支持多核处理器以及其他对称多处理系统 ...
- 又一个类dapper轮子:VIC.DataAccess
DataAccess Author: Victor.X.Qu Email: fs7744@hotmail.com DataAccess is a c# project for sql data map ...
- HTML豆ちしき
HTML文档里所有的空白符(空格,Tab,换行,回车)会被浏览器忽略,唯一的例外是空格,对空格的处理方式是所有连续的空格被当成一个空格,不管有一个,还是两个,还是100个.之所以有这样的规则是因为忽略 ...
- llinuxs介绍与常用命令
一.Linux系统概述1.计算机资源软件资源硬件资源操作系统2.操作系统WindowsMacOSLinuxUnix3.Linux含义狭义Linux:由Linus一段内核代码广义Linux:Linux厂 ...
- QT显示GIF图片
在QT中要显示GIF图片,不能通过单单的添加部件来完成. 还需要手动的编写程序. 工具:QT Creator 新建一个工程,我们先在designer中,添加一个QLabel部件. 如下图: 将QLab ...