python学习笔记7(利用索引访问字符串、列表以及元组)

1.利用索引访问字符串

flowers='rose'
print('flowers:'+flowers)
#正向索引,下标从0开始
print(flowers[0].upper())
print(flowers[1].upper())
print(flowers[2].upper())
print(flowers[3].upper())
print(flowers.upper())
#反向索引,最后一个字母为-1,倒数第二个为-2,以此从右往左推
print(flowers[-1].upper())
print(flowers[-2].upper())
print(flowers[-3].upper())
print(flowers[-4].upper())
print(flowers.upper())
#利用索引区间
print(flowers[0:4])#输出下标0-3的字母,此时遍历到下标n-1处的元素
print(flowers[0:])#输出下标0-3的字母,此时默认遍历到最后一个元素
print(flowers[:4])#输出下标0-3的字母,此时默认从头开始
print(flowers[-3:])#输出后三个字母
flowers:rose
R
O
S
E
ROSE
E
S
O
R
ROSE
rose
rose
rose
ose

2.利用索引访问列表

#利用索引访问列表
flowers=['rose','grass','sunflower','StarrySky']
print('flowers列表:')
print(flowers)
#正向索引,下标从0开始
print(flowers[0].upper())
print(flowers[1].upper())
print(flowers[2].upper())
print(flowers[3].upper())
#反向索引,最后一个字母为-1,倒数第二个为-2,以此从右往左推
print(flowers[-1].upper())
print(flowers[-2].upper())
print(flowers[-3].upper())
print(flowers[-4].upper())
#利用索引区间
print(flowers[0:4])#输出下标0-3的字母,此时遍历到下标n-1处的元素
print(flowers[0:])#输出下标0-3的字母,此时默认遍历到最后一个元素
print(flowers[:4])#输出下标0-3的字母,此时默认从头开始
print(flowers[-3:])#输出后三个元素
flowers列表:
['rose', 'grass', 'sunflower', 'StarrySky']
ROSE
GRASS
SUNFLOWER
STARRYSKY
STARRYSKY
SUNFLOWER
GRASS
ROSE
['rose', 'grass', 'sunflower', 'StarrySky']
['rose', 'grass', 'sunflower', 'StarrySky']
['rose', 'grass', 'sunflower', 'StarrySky']
['grass', 'sunflower', 'StarrySky']

3.遍历切片

flowers=['rose','grass','sunflower','StarrySky']
print('flowers列表:')
print(flowers)
for flower in flowers[0:4]:
    print(flower.title())
flowers列表:
['rose', 'grass', 'sunflower', 'StarrySky']
Rose
Grass
Sunflower
Starrysky

4.复制列表(利用切片复制和通过直接赋值的不同)

#利用切片复制列表
flowers=['rose','grass','sunflower','StarrySky']
flowers_name=flowers[:]#在不指定任何索引的情况下从列表flowers中提取了一个切片,再将该副本存储到列表flowers_name中
print('flowers列表:')
print(flowers)
for flower in flowers[0:4]:
    print(flower.title())
print('flowers_name列表:')
print(flowers_name)
for flower in flowers_name[0:4]:
    print(flower.title())
#分别对两个列表添加不同元素
flowers.append('star')
flowers_name.append('moon')
print(flowers)
print(flowers_name)
flowers列表:
['rose', 'grass', 'sunflower', 'StarrySky']
Rose
Grass
Sunflower
Starrysky
flowers_name列表:
['rose', 'grass', 'sunflower', 'StarrySky']
Rose
Grass
Sunflower
Starrysky
['rose', 'grass', 'sunflower', 'StarrySky', 'star']
['rose', 'grass', 'sunflower', 'StarrySky', 'moon']
#赋值
flowers=['rose','grass','sunflower','StarrySky']
flowers_name=flowers#列表flower直接赋值给列表flowers_name中,这时候两个列表只是名字不一样,实际上指向同一个列表,所以在下面添加不同的元素,但到最后两个列表元素却是相同的
print('flowers列表:')
print(flowers)
print('flowers_name列表:')
print(flowers_name)
#分别对两个列表添加不同元素
flowers.append('star')
flowers_name.append('moon')
print('两个列表添加不同元素后的效果')
print(flowers)
print(flowers_name)
flowers列表:
['rose', 'grass', 'sunflower', 'StarrySky']
flowers_name列表:
['rose', 'grass', 'sunflower', 'StarrySky']
两个列表添加不同元素后的效果
['rose', 'grass', 'sunflower', 'StarrySky', 'star', 'moon']
['rose', 'grass', 'sunflower', 'StarrySky', 'star', 'moon']

解释
5.元组
可以对列表内的元素进行修改,但是不能对元组内的元素进行修改

flowers=('rose','grass','sunflower','StarrySky')#定义元组
print(flowers[:])#利用索引区间遍历元组
print(flowers[0])
#flowers[0]='heihei'#试图修改元组元素,会报错
flowers=('花花','grass','sunflower','StarrySky')#给元组重新赋值,借此修改元素
print(flowers[:])#利用索引区间遍历元组
print(flowers[0])
('rose', 'grass', 'sunflower', 'StarrySky')
rose
('花花', 'grass', 'sunflower', 'StarrySky')
花花
#修改元组元素报错提醒
 flowers[0]='heihei'#试图修改元组元素,会报错
TypeError: 'tuple' object does not support item assignment
flowers=('rose','grass','sunflower','StarrySky')#定义元组
print('初始元组:')
print(flowers[:])#利用索引区间遍历元组
flowers=('huahua','grass','sunflower','StarrySky')#给元组重新赋值,借此修改元素
print('重新赋值后的元组:')
print(flowers[:])#利用索引区间遍历元组
for flower in flowers:
    print(flower.title())
初始元组:
('rose', 'grass', 'sunflower', 'StarrySky')
重新赋值后的元组:
('huahua', 'grass', 'sunflower', 'StarrySky')
Huahua
Grass
Sunflower
Starrysky
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值