Python字符串与列表
概念:
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
1. 掌握列表基础知识
1.1 列表的特点:
支持异构:一个列表中含不同类型的对象
支持嵌套:即列表中的元素可以是列表
可变:支持通过索引,切片,进行修改
1.2 如何定义列表:
方法一(推荐):[];
例:list1=[1,3,5] list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5 ]; list3 = ["a", "b", "c", "d"]; list3 = [[1,2,3], "a", "b", "c", "d"];
方法二:使用内置函数list(): 内建函数list(a_sequence) 可以将一个序列转为列表
例1: >>> str1="dddgf" >>> list1=list(str1) >>> list1 ['d', 'd', 'd', 'g', 'f']
例2:
2. 访问列表中的值
list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, 7 ]; print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5]
3. 更新列表
list = ['physics', 'chemistry', 1997, 1998]; print "Value available at index 2 : " print list[2]; list[2] = 2001; print "New value available at index 2 : " print list[2];
4. 列表的索引和切片:
classmates = ['Madking','Agon', 'Michael', 'Bob', 'Tracy'] print classmates[0] 'Michael' print classmates[1] 'Bob' print classmates[2] 'Tracy' print classmates[3] print classmates[1:-2] print classmates[1:3] print classmates[::2]
5. 掌握列表相关方法:
2.1 append():向列表中追加元素
例如:
2.2 extend():追加可迭代对象中所有元素
例1:
list2=[1,2,3] list3=[] list3.extend(list2)
例2
2.3 insert():在指定索引位置插入
插入例子:
2.4 pop():按照索引弹出元素,返回值为该元素。默认弹出最后一个元素。
例如:
classmates = ['Michael', 'Bob', 'Tracy'] classmates.pop() classmates.pop(1) print classmates
2.5 remove():按照元素值弹出第一个匹配项
例如:
aList = [123, 'xyz', 'zara', 'abc', 'xyz']; aList.remove('xyz'); print "List : ", aList; aList.remove('abc'); print "List : ", aList;
2.6 count():统计指定值出现的次数
2.7 index():某个值第一次出现的位置
例如:
2.8 reverse():反向存放
例如:
2.9 查询遍历:
for I in list for i,k enumerate(li)
2.10 sort():排序
aList = [123, 'xyz', 'zara', 'abc', 'xyz']; aList.sort(); print "List : ", aList;
2.11 max() min()
6. 掌握序列类型操作:序列类型包括:字符串、列表、元组
3.1 +连接*重复
例如:
实例
3.2 max():求最大值、min():求最小值
例如:
7. 掌握列表生成式
列表生成式,是Python内置的一种极其强大的生成list的表达式。
4.1 用于:基于已有列表生成新列表
4.2 语法结构:
列表生成式的书写格式:[x*x for x in range(1 , 11)]
第一:把要生成的元素 x*x 放到前面
第二:后面跟上for循环
这样就可以把list创建出来。
for循环后面还可以加上if判断
4.3 举例:
1到10之间的偶数平方再除以2 作为新列表元素
1到10之间的偶数 ,作为新列表元素
4.4 特点:一次性生成新列表,如果列表数据过大,会消耗大量资源。
三、字符串
1.2 掌握字符串常用方法
1.2.1 s.find() s.join() s.split() s.replace() s.strip() 1.2.2 s. isalnum()/s.isalpha()/s.isdigit() 1.2.3 s.upper()/ s.lower() 1.2.4 s.count() 1.2.5 len(s)
【考核要求】
1. 序列类型常用操作
a) 索引和切片
1.1.1 索引:例:s[0]从左向右:索引从0开始 ;从右向左:索引从-1开始
1.1.2 切片:例:s[0:2]
Print a[:2]
实例:
url = “www.python.org”
print url[4:10]
实例:
print "Hello"[:3] 从第一个字符开始截取
print "Hello"[0:] 从第一个字符开始截取,一直截取到最后
print "Hello"[:] 道理同(2)
1.1.3 扩展切片:指定步长,例:s[0:9:2]
print ABCDEFG[::2]
b) 掌握格式化输出:使用python输出各种类型的字符串、整数、浮点数
格式:
print “字符串 %format1 %format2… ” % (变量或值1,变量或值2...)
符号及其对应输出格式:
%d 十进制整数
%f 浮点数
%s 字符串
%% 用于输出符号%
实例:
Name = ‘张飞’ Age= 16 print ‘my name is %s’ % Name print ‘I am 16 years old’% Age print "My name is %s and weight is %d kg!" % ('Zara', 21)
c) 强制类型转化
int():强制转换为整型,
例如:
注意:只能将由数字组成的字符串转换为整型
错误用法
float():强制转换为浮点型例如
str():强制转换为字符串例如:
d) 字符串转换实例:格式化输出菜单列表;将用户的输入数值转化整型并验证
2. 掌握字符串常用方法
s.find(t):查找子串t,找到返回首次出现位置的索引值,找不到则返回-1
实例:
s.split(sep):使用sep作为分割符,列表返回结果。
实例:str=”www.baidu.com”
str.split(".") 得到["www ","baidu","com"]序列
实例:
s.join(iter) 使用s作为连接符连接序列iter中所有元素
例如:list2=["h","e","l","l","o"," .","c","o","m"]
“”.join(list2)
实例:
s.replace(old,new):替换
实例:
s. strip(t): 删掉开头和结尾的字符t(没有参数t则删除空白符)
如:删除空白符 s1.strip()
s.isalpha()/s.isdigit(): /是否为字母/是否为数字
结果是bool类型
s.upper()/ s.lower():所有字母转化为大写字母/小写字母,
s.count(t) 统计t出现的次数
本文出自 “一盏烛光” 博客,谢绝转载!