python切片操作 当所有数据都省略时_操作列表 - osc_3ij8s0nv的个人空间 - OSCHINA - 中文开源技术交流社区...

我们在上一篇博客中已经知道如何访问列表的元素,现在我们可以了解到如何遍历列表等一些操作列表的操作

1. 列表的遍历

使用for循环遍历列表

names = ["小梦","小黑","小白","小欧"]

for name in names :

print(name+", 有10000万????")

输出

小梦, 有10000万????

小黑, 有10000万????

小白, 有10000万????

小欧, 有10000万????

这样遍历可以遍历成千上万的元素。在代码上作出这样的添加就会输出不同的效果

names = ["小梦","小黑","小白","小欧"]

for name in names :

print(name+", 有10000万????")

print("不是吧??")

print("小梦有!!!")

输出:

003e188cd4184d0c9a05e2f45d62f8be.png

这样的结果是由于代码缩进原因。

当我们在不该缩进的地方缩进

eg

eb257e639313196bd777baadf9b4b62f.png

运行会有这样的报错

File "C:/Users/20253/PycharmProjects/myPython/liebiao.py", line 2

for name in names  :

^

IndentationError: unexpected indent ===== 缩进错误:意外缩进

当我们在需要缩进的时候没有缩进

651b9506521f171db0a82e5bc53ff772.png

就会有这样的报错

File "C:/Users/20253/PycharmProjects/myPython/liebiao.py", line 3

print(name+", 有10000万????")

^

IndentationError: expected an indented block      ====缩进错误:需要缩进块

2. 创建数值列表

2.1 使用range()打印出数字1-4

for value range(1,5) :

print(value)

输出:

1

2

3

4

2.2  使用range()创建数字列表

可以使用list()函数将range()的结果转为列表

将range()作为list()的参数

numbers = list(range(1,5))

print (numbers)

输出

[1, 2, 3, 4]

代码打印 1-10 的偶数

numbers = list(range(2,11,2))

print (numbers)

在这个示例中,函数range()从2开始数,然后不断地加2,直到达到或超过终值(11),因此

输出

[2, 4, 6, 8, 10]

将1-10的平方添加到一个列表中

squares = []

for value in range(1,11) :

result = value ** 2

squares.append(result)

print(squares)

输出

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

squares = []

for value in range(1,11) :

squares.append( value ** 2)

print(squares)

也可以这样 使代码变得简洁

对数字列表执行简单的统计计算

轻松的找出列表中的最大值  最小值  总和

number = [1,2,3,4,5,6,7,8,9,10]

print(sum(number))

print(min(number))

print(max(number))

输出

55

1

10

列表解析

前面介绍的生成列表squares的方式包含三四行代码,而列表解析让你只需编写一行代码就能生成这样的列表。

列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。

squares2 = [value**2 for value in range(1,11)]

print(squares2)

要使用这种语法,首先指定一个描述性的列表名,如squares2;然后,指定一个左方括号,

并定义一个表达式,用于生成你要存储到列表中的值。在这个示例中,表达式为value**2,它计

算平方值。接下来,编写一个for循环,用于给表达式提供值,再加上右方括号。在这个示例中,

for循环为for value in range(1,11),它将值1~10提供给表达式value**2。请注意,这里的for

语句末尾没有冒号。

结果与前面看到的平方数列表相同:

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

3.  使用列表的一部分

处理列表的部分元素——Python称之为切片

3.1 切片

要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与函数range()一样,Python

在到达你指定的第二个索引前面的元素后停止。要输出列表中的前三个元素,需要指定索引0~3,

这将输出分别为0、1和2的元素。

下面的示例处理的是一个运动队成员列表:

players = ['charles', 'martina', 'michael', 'florence', 'eli']

print(players[0:3])

输出

['charles', 'martina', 'michael']

代码打印该列表的一个切片,其中只包含三名队员。输出也是一个列表,其中包含前

三名队员

如果没有指定开始的索引 那么Python自动从列表开头开始

print(players[:2])

输出

['charles', 'martina']

如果想让切片截取到列表的末尾,就省略终止索引

print(players[2:])

输出

['michael', 'florence', 'eli']

如果你要输出名单上的最后两名队员,可使用切片players[-2:]

输出

['florence', 'eli']

3.2  遍历切片

遍历名单前三位队员

for value in players[:3] :

print(value.title())

输出

Charles

Martina

Michael

3.3  复制列表

有时候我们需要将列表的全部元素复制到另一个列表中。例如我喜欢吃的零食我闺蜜都喜欢吃。

my_foods = ["可乐","蛋糕","薯条","奶茶","炸鸡"]

print("I like :")

print(my_foods)

friend_foods = my_foods[:]

print("friend like :")

print(friend_foods)

输出

I like :

['可乐', '蛋糕', '薯条', '奶茶', '炸鸡']

friend like :

['可乐', '蛋糕', '薯条', '奶茶', '炸鸡']

4. 元组

列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,这对处理网

站的用户列表或游戏中的角色列表至关重要。然而,有时候你需要创建一系列不可修改的元素,

元组可以满足这种需求。

4.1  Python将不能修改的值称为不可变的,而不可变的列表被称为元组 。

元组看起来就像列表 但是元组使用小括号()而不是方括号来标识。定义完元组之后就可以使用索引来访问元组,就像访问列表一样

定义一个长度不会改变的矩形,可以将其长宽保存到元组中,从而确保他们是不可修改的

dimensions = (200,90)

print(dimensions[0])

print(dimensions[1])

输出

200

90

尝试改变矩形长度的值

dimensions[0]=250

运行报错

200

90

Traceback (most recent call last):

File "C:/Users/20253/PycharmProjects/myPython/dimensions.py", line 5, in

dimensions[0] =250

TypeError: 'tuple' object does not support item assignment   ==类型错误:“tuple”对象不支持项分配

代码试图修改矩形的尺寸时,Python报告错误

4.2 遍历元组的所有值

dimensions = (200,90)

for value in dimensions :

print(value)

输出

200

90

4.3 修改元组变量

虽然不能修改元组的元素,但是可以给存储元组的变量赋值。

dimensions = (200,90)

print("Original dimensions:")

for dimension in dimensions:

print(dimension)

dimensions = (400, 100)

print("\nModified dimensions:")

for dimension in dimensions:

print(dimension)

我们首先定义了一个元组,并将其存储的尺寸打印了出来 ;接下来,将一个新元组

存储到变量dimensions中;然后,打印新的尺寸 。这次,Python不会报告任何错

误,因为给元组变量赋值是合法的。

输出

Original dimensions:

23

10

Modified dimensions:

400

100

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值