重读LPTHW-Lesson25

1.ex25接触了字符串函数split()、列表函数sorted()、pop()函数,整理一下其用法以及其他常见的字符串、列表操作函数如下。

(1)split()函数

split()是拆分字符串函数,通过指定分隔符对字符串进行切片,返回分割后的字符串组成的列表(list),每个字符串也可以赋值(或者该称为解包?)给新的变量

语法:str.split(str="",num)[n]

参数解释:str表示分隔符,默认为空格 ,不能为空("");若字符串中没有分隔符,则把整个字符串作为列表的一个元素并返回列表。

num表示分隔次数,默认为最大分隔次数;若指定num值,则分隔为num+1项。

①按默认字符分隔

1 str = "www.cnblogs.com"
2 print str
3 str_split = str.split()       #使用默认参数
4 print str_split

输出:

②以"."为分隔符

str_split = str.split(".")   print str_split    

输出:

分隔n次

print str.split(".",0)       #分隔0次
print str.split(".",1)       #分隔1次
print str.split(".",2)       #分隔2次

输出:

分隔2次并取序列为1的项

print str.split(".",2)[1]       #分隔2次,取序列为1的项

输出:

③分隔后把分隔的字符串赋值给变量

str1,str2,str3 = str.split(".",2)
print str1
print str2
print str3

输出:

(2)join()函数和split()相反,用来连接字符串

用法如下:

list = [‘My‘,‘name‘,‘is‘,‘Jer‘]
print ‘ ‘.join(list)
print ‘_‘.join(list)
print ‘..‘.join(list)

输出:

(3)sorted()函数

Python中排序有两种  一种是内建函数sorted(),它生成一个新的排好序的列表;一种是sort方法,它直接对列表排序。

sorted():有四个参数,sorted(iterable,cmp=none,key=none,reverse=False):①其中iterable是排序的对象,中文意思是迭代器,包括字符串、列表、字典等对象类型

②cmp指定一个定制的比较函数,这个函数接收两个参数(iterable的元素),如果第一个参数小于第二个参数,返回一个负数;如果第一个参数等于第二个参数,返回零;如果第一个参数大于第二个参数,返回一个正数。默认值为None

③key指定一个接收一个参数的函数,这个函数用于从每个元素中提取一个用于比较的关键字。默认值为None

④reverse是一个布尔值,表示排列的顺序,为True则表示从大到小。默认为False。

下面来看实例:

A.基本用法:

可以看出,list.sort()方法会修改原始的list,返回none;而sorted(list)则返回一个新的排序列表。另需注意,list.sort()只为列表(list)定义,sorted()函数适用于一切迭代器。

B .key function应用

①按照列表中元素的长度排序:

def func(x):
    return len(x)
list = [‘Python‘,‘is‘,‘a‘,‘great‘,‘language‘]
print sorted(list,key = func)

输出:

②转换列表中元素为小写后在排序

list = [‘zza‘,‘AAz‘,‘nnew‘,‘Merww‘]
print sorted(list,key = str.lower)      #转换大小写后排序

输出:

2.常见的list列表函数及操作

(1)list()将字符串转为列表

(2)len()获得list元素的个数

(3)利用索引获得list中相应位置的元素。索引从0开始,0表示第一个元素,-1则可表示最后一个元素,类似的,-2表示倒数第二个元素

(4)利用索引可以直接将相应位置的元素重新赋值

(5)list切片操作   利用list的切片,可以轻松地获得列表的部分元素

①取出部分元素

如实例可见  list[index1:index2]将显示列表从list[index1]到list[index2-1]的元素,list[index2]不显示;在省略index1时即list[:index2],默认index1 = 0;省略index2即list[index1:],默认index2=len(list).故,list[:] = list[:-1],它将显示整个列表

②修改元素

(6)insert()方法  往list的某个位置插入字符串、列表时,字符串的每个字符、列表的每项都作为list的一个元素插入,而不是整体插入。若要整体插入,则可使用list的insert方法

(7)append方法  list是有序的列表,list的append方法可以在list的末尾追加新的元素

(8)pop方法  pop(index)可以删除列表中指定位置的元素,并返回该元素。若省略index值,则删除并返回最后一个元素

(9)remove()方法  删除第一个指定元素

利用循环,可以删除所有的某个指定元素

(10)index方法  index方法用来寻找列表中与指定的元素相匹配的第一个匹配项的位置亦即索引

若指定元素在列表中不存在,会触发一个异常。

时间: 2024-12-29 11:35:38

重读LPTHW-Lesson25的相关文章

Effective Objective-C 2.0重读笔记---1

上次看这本书的时候匆匆走了一遍,最近不太忙,重温了一遍,把笔记写出来~.. 有兴趣的可以去买一本,感觉这本书还是挺不错的 由于大部分是在坐车的时候用手机写的,所以代码很少,图也很少 1. 尽量使用向前声明,延后引入头文件的时间,这样可以减少编译时间2. 使用arraywithobjects:....如果遇到为空的变量,就会自动终止,后面的变量便会添加不上,切不会报错,会造成数据不一致问题,所以尽量使用字面量语法创建相关对象,减少出错且减少代码量3. 使用字面量创建的对象都是不可变的,如果要获得可

重读规则

一般来讲,英语单词的重读是没有固定的规律而言的.但有些规则在多数情况下是可以适用的,这些规则有:重读规律1.一般2.3个音节的单词,重读在第一音节上.如:'apple 'carry 'problem. 但如果这个单词是带有前缀的,则重读则在前缀后.如:a'bove a'go com'bine en'courage2.3个或以上音节的单词,重读在倒数第三个音节上. 'family de'mocracy phy'losophy 3.带有后缀的单词,重读在后缀前(以下后缀除外:-ed,-es,-er,

LPTHW 笨办法学python 40章 类

今天读了LPTHW的第40章以后豁然开朗,原来一直愚钝,不太理解类的定义和使用,还有就是不太理解关于self的定义. class MyStuff(object): def __init__(self): self.tangerine = "And now a thousand years between" def apple(self): print "I AM CLASSY APPLES!" 说类和迷你模块差不多,那么对于类来说,也必然有一个类似 import 的

重读C++ Primer笔记

C++ Primer 5E 有符号和无符号 无符号类型和有符号类型混合运算时,有符号数会被提升至无符号类型,如果其值为负责会产生错误. int main() { unsigned int u = 10; int i = -42; std::cout<<u+i<< std::endl; // 4294967264 if sizeof(int)==4 return 0; } 列表初始化 列表初始化过程不允许损失数据类型精度,所以下面代码中的两行无法通过编译 int main() { d

LPTHW 结束了

基本上在学习了LPTHW的 类 继承 和 合成以后基本就结束. 后面几章都是根据web.py进行网页编程,以及自动化测试的.目前来看不太感兴趣. 稍后我可能找个实际项目进行锻炼下,比如 Crossin python教程.明天应该有一些实践,并更新心得. 笨方法学python 的学习算是告一段落了.其实原来就读过这本书,但是没有像现在一样,踏踏实实的读出来.而且后续虽然没有读这本书,但是也一直在接触python这个语言,所以这次又回过头来读了一遍,受益匪浅. 其实任何书都是一样,第一遍读的时候,感

[C/C++]重读《The C Programming Language》

第一次读这本书的时候是大三初,现在打算重读一遍!. 第一章 导言 1. 学习一门新程序设计语言的唯一途径就是用它来写程序. 2. 每个程序都从main函数的起点开始执行. 3. 在C语言中,所有变量必须先声明后使用. 4. C语言中的基本数据类型的大小取决于具体机器. 5. 在允许使用某种类型变量值的任何场合,都可以使用该类型的更复杂的表达式. 6. 标准库的输入/输出模型是按照字符流的方式处理,每行字符都有0个或者多个字符组成,末尾是换行符. 7. 函数为计算的封装提供了一种简便的方法,函数都

守护进程重读配置文件示例

重读APUE,对守护进程有了更加深刻的理解,特别是相应的编程规则和应用场景.对于为什么要fork两次,日志设施的用法,信号的处理方法都有了更加清晰的认识.通常的应用场景是,守护进程在收到一个SIGHUP信号的时候重新读取配置文件,而不需要停止.下面是运行APUE书中这个实例的过程. 首先主要代码为(reread.c): #include "util.h" #include <pthread.h> #include <syslog.h> sigset_t mask

温故知新---重读C#InDepth(一)

一本好书,或是一本比较有深度的书,就是每次研读的时候都会有新的发现. 好吧,我承认每次读的时候都有泛泛而过的嫌疑~~ 这几年一直专注于C#客户端的开发,逐步从迷迷糊糊,到一知半解,再到自以为是,最后沉下心重新审视.也许这也是一种进步一种自我学习的过程. 前面啰嗦了这么多,希望大家也能不那么浮躁的“深入理解”C#这么语言的每个知识点.本文总结书本中的知识,在结合实际应用场合进行概述,如果有不正确的地方,还请不吝指教. 文章中的内容比较浅显,请高手略过此文. 1. 简化了的COM操作 private

重读dvwa的笔记

0x00 花了些时间把dvwa重新看了一遍 虽然以前已经玩过这个 ,但是这次从源码出发的重读还是有新收获 决定写一个学习笔记 0x01 首先是环境搭建 类似的环境搭建文章网上有太多了 而且这篇文章也写的非常好(我就是参照这个搭建的) http://www.freebuf.com/sectool/102661.html 顺便一提测试的时候记得要在php.ini中开启几个函数 0x02 首先是Brute Force  暴力破解 low 在low下源码的部分 $user = $_GET[ 'usern

不忘初心 --- 重读&lt;&lt;The C Programming Language&gt;&gt;

这篇文章应该发布在好几年前,2011年计算机界大师Dennis Ritchie仙逝.那时对大师的映象还停留在大一刚学编程时:Unix的合作开发者:C语言的发明人.通过网上的纪念文章<<Unix传奇>>才真正了解到大师的伟大之处.那年我参加工作刚好1年,所使用的语言是c#(从大二开始学习,也没想到伴随我到现在).抱着纪念大师的想法也顺便重温下C语言,我在书店买了一本原版的<<The C Programming Language>>.没想到这本书"读了