序列与索引

一、序列的索引及切片的操作

示例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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值