task 2
python的数据结构包括列表、元组、字符串、字典、集合、序列,需要我们熟练的掌握操作的方法,包括创建,添加,删除,获取,更新。
1、列表数据类型:
整型,浮点型,布尔型
容器数据类型:
列表,元组,字典,集合,字符串
2、
x= ['Monday','Tuesday;'Wednesday','Friday' ]
print(x,type(x))
利用range()创建列表
x =list(range(10))
print(x,type(x))
x =list(range(1,11,2))
print(x,type(x))
利用推导式创建列表
x = [0 for i in range(5)]
print(x,type(x))
x=[i for i in range(100 if ( i % 2 )!= 0 and (i % 3) == 0)]
print(x,type(x))
x= [i ** 2 for i in range(1,10)]
print(x,type(x))
创建一个混合列表
mix = [1,'lsgo',3.14,[1,2,3]]
print(mix,type(mix))
向列表添加元素
list.append(obj)
list.extend(seq)/在列表末尾一次性最近另一个序列多个值
list.insert(index,obj)在编号index位置插入obj
删除列表的元素
list.remove(obj)
list.pop([index=-1])默认移除最后元素,并返回值
del var1[,var2]删除单个或多个对象
x =['monday','tuesday','wednesday','thursday','friday']
del x[0:2]
print(x) #['wednesday','thursday','friday']
获取列表元素
week =['monday','tuesday','wednesday','thursday','friday']
print(week[1:4:2]) #start : stop : step
print(week[:4:2])
print(week[1::2])
print(week[::-1])
print(week[:])#复制列表所以元素
列表常用操作符
== + * in not in
列表的其他方法
list.count(obj)统计元素在列表中出现次数
list.index(x[,start[,end]])从列表找出某个值第一个匹配的索引位置
list.reverse()反向列表元素
解压元组
t = (1,10.31,'python')
(a,b,c)= t
print(a,b,c)# 1 10.31 python
解压二维元组
t = (1,10.31,('ok','python'))
(a,b,(c,d))=t
如果你只想元组其中几个元素用*
t = 1,2,3,4,5
a,b,*rest,c = t
print(a,b,c) #1 2 5
print(rest) #[3,4]
如果不在乎rest变量使用*_
字符串常用转义字符
\反斜杠符合
'单引号
"双引号
\n换行
\t横向制表符
\r回车
print('let\'s go') # let's go
print("let's go") # let's go
print('C:\\now') # C:\now
print("C:\\ProgramFiles\\Intel\\Wifi\\Help")#C:\ProgramFiles\Intel\Wifi\Help
lower() 转换字符串中所有大写字符为小写。
upper() 转换字符串中的小写字母为大写。
swapcase() 将字符串中大写转换为小写,小写转换为大写。
find(str,beg=0,end=len(string))检测str是否在字符串,如果包含返回索引
rfind(str,beg=0,end=len(string))从右边开始查找
isnumeric()如果字符串只包含数字字符,返回true,否则返回false
str3 = '12345'
print(str3.isnumeric()) # True
str3 += 'a'
print(str3.isnumeric()) # False
ljust(width[,fillchar])返回原字符串左对齐
rjust(width[,fillchar])返回原字符串右对齐
str4 = '1101'
print(str4.ljust(8, '0')) # 11010000
print(str4.rjust(8, '0')) # 00001101
lstrip([chars])截掉字符串左边的空格或指定字符
rstrip[chars]截掉字符串末尾空格
partition(sub)找到sub,把字符串分为三元组
rpartition(sub)从右边开始查找
str5='l love lsgogroup'
print(str5.strip().partition("o"))
replace(old,new [,max])
把字符串old替换成new,
split()分隔符
str5="I love lsgogroup"
print(str5.strip().split())# ['l','love','lsgogroup']
print((str5.split('.',2)[1]))分割两次,并取序列为1的项
u1,u2,u3=u.split('.',2)
去掉换行符
c='''say
hello
baby'''
print(c)
print(c.split('\n')) #['say','hello','baby']
splitlines([keepends])按照(’\r’,’\r\n’,\n)分割,
str6='i \n love \n lsgogroup'
print(str6.splitlines())
print(str6.splitlines(Ture))
maketrans(intab,outtab)创建字符映射转换表,第一个参数是字符串,第二个字符串表示转换的目标
translate(table,deletechars="")根据参数table给出的表,转换字符串字符,要过滤字符放到deletechars参数中。
str7='this is string example ...wow!!'
intab='aeiou'
outtab=str7.maketrans(intab,outtab)
print(trantab)
print(str7.translate(trantab))
{97: 49, 101: 50, 105: 51, 111: 52, 117: 53}
th3s 3s str3ng 2x1mpl2…w4w!!!
字符串格式化
format
str8 = = “{0} love {1}”.format('i','lsgogroup')
print(str8)
str8= '{0:.2f}{1}'.format(27.65,'gb')
print(str8)
Python 字符串格式化符号
符 号 描述 %c 格式化字符及其ASCII码
%s 格式化字符串,用str()方法处理对象
%r 格式化字符串,用rper()方法处理对象
%d 格式化整数 %o 格式化无符号八进制数
%x 格式化无符号十六进制数 %X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g 根据值的大小决定使用%f或%e
%G 作用同%g,根据值的大小决定使用%f或%E