一、序列的索引及切片的操作
示例5-1使用索引检索字符串里的元素
s='hello,word'
for i in range(0,len(s)):
print(i,s[i],end='\t\t')
切片:访问一定范围内的元素
切片操作的语法结构:序列[start(切片的开始索引):end(切片的结束索引、不包含):step(步长)]
示例5-2序列的切片操作
s='hello,word'
s1=s[0:5:2]#索引从0开始,到5结束不包含5,步长为2
print(s1)
序列的相关操作:
(1)x in s (如果x是s的元素,结果为True,否则为False)
(2)x not in s (如果x不是s的元素,结果为True,否则为False)
(3)len(s)(序列s中元素的个数)
(4)max(s)(序列s中元素的最大值)
(5)min(s)(序列s中元素的最小值)
(6)s.index(x)(序列s中第一次出现元素x的位置)
(7)s.court(x)(序列s中出现x的个数)
二、列表的基本操作.
列表:是指一系列的按特定顺序排列的元素组成。
示例5-3列表的创建与删除
#直接使用[]创建列表
lst=['hello','world',1,2]
print(lst)
#使用内置函数list()函数创建列表
lst2=list('hello,world')
lst3=list(range(1,10,2))#从1开始到10结束不包含10,步长为2
print(lst2)
print(lst3)
#列表是序列中的一种,对序列的操作符、运算符、函数也可以使用
print(lst+lst2+lst3)
print(lst2 *2)
print(min(lst3))
print(max(lst3))
print(lst.count(1))#lst中1出现得次数
print(lst.index(1))#lst中1第一次出现的位置
示例5-4列表的遍历操作
lst=['hello','world',1,2]
#(1)
for ele in lst:
print(ele)
#(2)
for i in range(0,len(lst)):
print(lst[i])
#(3)
for z,y in enumerate(lst):
print(z,y)#z是序号不是索引
#手动修改序号的使值
for z,y in enumerate(lst,start=2):
print(z,y)
三、列表的相关操作
lst.append(x):在列表lst最后增加一个元素
lst.insert(index,x):在列表中第index位置增加一个元素
lst.clear():清楚列表lst中所有元素
lst.pop(index):将列表lst中第index位置元素取出,并从列表中将其删除
lst.remove(x):将列表lst中出现的第一个元素x删除
lst.reverse(x):将列表lst中元素反转
lst.copy():拷贝列表lst中所有的元素,生成新的一个列表
lst=['hello','world','123']
print('原列表:',lst,id(lst))
#增加元素的操作
lst.append('ni,hao')
print('添加元素之后的列表:',lst,id(lst))
#使用insert(index,x)在指定的index位置插入元素x
lst.insert(1,100)
print('使用insert(index,x)后的列表',lst,id(lst))
#列表元素的删除操作
lst.remove('hello')
print('删除元素以后的列表:',lst)
#使用pop(index)根据索引将元素取出,然后再删除
print(lst.pop(1))#将1位置上的元素先取出
print(lst)
#清楚列表中的所有元素lst.clear()
#列表的反向输出,再原列表的基础张进行的
lst.reverse()
print(lst)
#列表的拷贝
new_lst=lst.copy()
print(new_lst,id(new_lst))
#列表元素的修改
lst[1]=100
print(lst)
2.列表函数的排序操作
(1)列表对象的sort方法
lst.sort(key=None,reverse=False),False为升序反之降序,默认排序规则为先大写再小写
lst=[4,100,88,66,7,33,50]
print('原列表为:',lst)
#升序
lst.sort()
print(lst)#排序为升序
#降序
lst.sort(reverse=True)
print(lst)
(2)内置函数sorted
lst=[4,100,88,66,7,33,50]
print('原列表为:',lst)
new_lst=sorted(lst)
print('升序',new_lst)
print('原列表',lst)#sorted不改变原列表,而是形成新的列表
四、列表生成式以及二位列表
1)、列表生成式:lst=[expression for item in range]
lst=[expression for item in range if condition]
import random#导入随机数
lst=[item for item in range(1,20)]
print(lst)
lst=[random.randint(1,100)for _ in range(1,10)]
print(lst)
#从列表当中选择符合条件的元素组成新的列表
lst=[i for i in range(1,10) if i%2==0]
print(lst)
2)二维列表的遍历与生成式
for row in 二维列表:
for item in row:
pass
#创建二二维列表
lst=[
['姓名','年龄','身高'],
['张',18,185],
['王',21,169]
]
print(lst)
#遍历二维列表使用双层for循环
for row in lst:#行
for item in row:#列
print(item,end='\t')
print()#换行
#列表生成式用于生成一个4行5列的列表
lst2=[[j for j in range(5)]for i in range(4)]
print(lst2)
五、元组类型
元组是呵python中内置不可变序列,在python中使用()定义元组,元素与元素之间使用,隔开,元组中只有一个元素时”,“也不可以省略
1、元组的创建
#小括号创建元组
t=('hello','world',[10,20,30])
print(t)
#使用内置函数tuple()创建元组
t=tuple('hello,world')
print(t)
#如果元组中只有一个元素
t=(10)
print(t,type(t))
#如果元组中只有一个元素逗号不能省略
y=(10,)
print(y,type(y))
2、元组元素的访问与列表相同
3、元组生成式
六、字典的创建与删除
1.字典的创建(字典中的键是无序的)
(1)使用{}直接创建字典
d={key1:value1,key2:value2}
(2)使用内置函数dict()创建字典
zip(lst1,lst2)
或者dict(key1=value1,key2=value2)
#(1)创建字典
d={1:'me',2:'you',3:'he',2:'her'}
print(d)#当key相同时后面会使前面覆盖
#(2)zip函数
lst1=[1,2,3,4]
lst2=['me','you','he','her']
a=zip(lst1,lst2)
print(a)#<zip object at 0x000001E221CFCBC0>
#print(list(a))#[(1, 'me'), (2, 'you'), (3, 'he'), (4, 'her')]
d=dict(a)
print(d)#{1: 'me', 2: 'you', 3: 'he', 4: 'her'}
#(3)使用参数创建字典
d=dict(me=1,you=2)
print(d)
2.字典的删除
del(d)
七、字典元素的访问与遍历
1.字典元素的取值:d[key]或d.get(key)
2.字典元素的遍历:
(1)遍历出key与value的元组
for element in d.items():
pass
(2)分别遍历出key与value
for key,value in d.items():
pass
d={'me':10,'you':20,'he':30}
#访问字典中元素
#(1)使用d[key]
print(d['me'])
#(2)d.get(key)
print(d.get('me'))
#二者之间有区别,如果key不错在,d[key]会报错,d.get(key)系统会给一个默认值
print(d.get('her'))
print(d.get('get','不存在'))#指定默认值
#字典的遍历
for i in d.items():
print(i)#key=value组成的一个元素
for i,v in d.items():
print(i,v)