零基础玩转Python(7)

零基础玩转Python(7)

这一节为大家最后补充一点列表的切片和复制,以及Python中的元组。最后再简单聊聊编码规范。

7.1 列表的切片和复制

7.1.1 切片

列表切片,直白来讲就是将一个列表分为几个部分,我们直接看演示:

names = ['Alice', 'Bob', 'Mike', 'Mary']

print(names[1:3])       # 这边都是包前不包后
print(names[0:2])

print(names[:3])
print(names[:])         # 会打印整个列表

运行结果:


[‘Bob’, ‘Mike’]
[‘Alice’, ‘Bob’]
[‘Alice’, ‘Bob’, ‘Mike’]
[‘Alice’, ‘Bob’, ‘Mike’, ‘Mary’]


第三、四行通过names[start:end](不包括end的索引)来获取列表的子列表。

我们可以通过再:左右进行缺省,像第六行,只会读取从names的开头开始直到索引是2的位置。

而第七行,使用[:]可以将整个列表打印出来,和直接使用names是一样的效果。

7.1.2 列表的复制

看如下代码示例:

colors = ['blue', 'white', 'purple', 'red']
print('原列表:')
print(colors)

print()

# 复制的两种方式
copy_colors = colors[:]
copy_colors2 = colors
print('复制的列表:')
print(copy_colors)

print()

# 修改原列表 观察复制的是否会变化
colors.append('green')
print('被修改的列表:')
print(colors)

print()

# 比较两种复制方式
print('未被修改的列表:')
print(copy_colors)
print(copy_colors2)

运行结果:


原列表:
[‘blue’, ‘white’, ‘purple’, ‘red’]

复制的列表:
[‘blue’, ‘white’, ‘purple’, ‘red’]

被修改的列表:
[‘blue’, ‘white’, ‘purple’, ‘red’, ‘green’]

未被修改的列表:
[‘blue’, ‘white’, ‘purple’, ‘red’]
[‘blue’, ‘white’, ‘purple’, ‘red’, ‘green’]


我们发现直接赋值的方法,会和原列表进行绑定,两个列表会同时变化,注意这边的copy_colors2变量。

但是利用copy_colors = colors[:]的方式不会随着colors一起变化。在实际应用中,应当避免两个变量绑定在一起,会引起很多不必要的错误。

7.2 元组(Tuples)

7.2.1 定义元组

元组是Python的基本类型之一,我们来直观看看以下例子,这边使用了Python的交互界面。

我们使用( )来定义元组:

>>> dimensions = (10, 5)
>>> dimensions[0]
10
>>> dimensions[1]
5

7.2.2 修改元组?

下面我们来试试修改元组:

>>> dimensions[0] = 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

当我们尝试对元组的单一元素进行修改的时候,发现会报错,元组被定义之后是不可再对他的值修改的。

但是我们可以直接把整个元组修改,也就是和变量的重新赋值一样:

>>> dimensions = (10, 5)
>>> dimensions
(10, 5)
>>> dimensions = (1, 1)
>>> dimensions
(1, 1)

7.3 编码规范

每一种语言都有不同的编码规范,Python中要注意的是缩进

缩进采用四个空格或者Tab键,两者不可混用。只使用空格则是一个好习惯,官方文档中有关编码规范有许多讲究,当我们代码量上去了,规范尤为重要,感兴趣的小伙伴点击如下链接查看编码规范标准:

PEP 8 标准

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

压力小子呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值