当前位置:   article > 正文

操作列表(range、切片、元组)(python学习)_python range list

python range list

目录

 

3.1遍历整个列表,用for循环打印

3.1.1对列表magicians中每一位魔术师,都将其名字打印出来

3.1.2 for循环按顺序执行并总结性输出

3.2使用函数range()

3.2.1range()函数基本用法

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

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

3.2.4列表解析

3.3使用列表的一部分

3.3.1切片

3.3.2遍历切片

3.3.3复制列表

3.4元组

3.4.1定义元组及遍历

3.4.2修改元组的变量


 

3.1遍历整个列表,用for循环打印

3.1.1对列表magicians中每一位魔术师,都将其名字打印出来

  1. magicians=['alice','david','carolina']
  2. for magician in magicians:
  3. print(magician)
'
运行
  1. alice
  2. david
  3. carolina

3.1.2 for循环按顺序执行并总结性输出

¥两个函数print()都缩进了,因此它们都将针对列表中的每一个魔术师执行一次。

¥第二个print()有换行符"\n"。

¥第三个函数print()没有缩进,因此只执行一次。

  1. magicians=['alice','david','carolina']
  2. for magician in magicians:
  3. print(f"{magician.title()},that was a great trick!")
  4. print(f"I can't wait to see you next trick,{magician.title()}.\n")
  5. print("Thank you everyone,That was a great magic show!")
'
运行
  1. Alice,that was a great trick!
  2. I can't wait to see you next trick,Alice.
  3. David,that was a great trick!
  4. I can't wait to see you next trick,David.
  5. Carolina,that was a great trick!
  6. I can't wait to see you next trick,Carolina.
  7. Thank you everyone,That was a great magic show!

3.2使用函数range()

3.2.1range()函数基本用法

python从指定的第一个值开始数,并且达到你指定的第二个值时停止。

range(初始值,结束地址),地址由0开始数。

  1. for value in range(1,5):
  2. print(value)
'
运行
  1. 1
  2. 2
  3. 3
  4. 4

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

1.使用函数list()将range()的结果直接转换为列表。

如果将range()作为list()的参数,输出将是一个数字列表。

  1. numbers=list(range(1,11))
  2. print(numbers)
  3. [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
'
运行

2.使用range()函数时,还可指定步长

range(初始值,结束地址,步长)

  1. num=list(range(2,11,2))
  2. print(num)
  3. [2, 4, 6, 8, 10]
'
运行

3.使用range()函数几乎能够创建任何需要的数集

例如创建一个列表,其中包含前十个整数(1~10)的平方

  1. squares=[]
  2. for value in range(1,11):
  3. square=value**2
  4. squares.append(square)
  5. #squares.append(value**2)
  6. print(squares)
  7. [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
'
运行

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

有几个专门用于处理数字列表的python函数。例如

找出列表的

min() 最小值

max() 最大值

sum() 总和

  1. digits=[7,4,1,2,5,8,9,6,3]
  2. print(max(digits))
  3. print(min(digits))
  4. print(sum(digits))
'
运行
  1. 9
  2. 1
  3. 45

¥考虑到版面原因,虽然实例的数字列表很短,但此知识也适用于包含数百万个数的列表。

3.2.4列表解析

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

展示上文的平方书列表

  1. squares=[value**2 for value in range(1,11)]
  2. print(squares)
  3. [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
'
运行

3.3使用列表的一部分

3.3.1切片

要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与range()函数一样,python在到达第二个索引之前的元的后停止。

也可简单理解如下列函数所示

players[起始地址:结束地址]

起始位置或结束位置可不写,默认第一个或最后一个元素。

如果要输出名单上最后三名队员,可使用切片players[-3:];

  1. players=['amy','bye','cid','dli','eju']
  2. print(players[:])
  3. print(players[:3])
  4. print(players[2:])
  5. print(players[2:3])
  6. print(players[-3:])
'
运行
  1. ['amy', 'bye', 'cid', 'dli', 'eju']
  2. ['amy', 'bye', 'cid']
  3. ['cid', 'dli', 'eju']
  4. ['cid']
  5. ['cid', 'dli', 'eju']

3.3.2遍历切片

在for循环中使用切片,遍历前三名队员并打印他们的名字。

  1. #遍历切片
  2. players=['amy','bye','cid','dli','eju']
  3. for player in players[:3]:
  4. print(player)
'
运行
  1. amy
  2. bye
  3. cid

3.3.3复制列表

要复制列表,可创建一个包含整个列表的切片。

这让python创建一个始于第一个元素、终于最后一个元素的切片,即整个列表的副本。

  1. #复制列表
  2. players=['amy','bye','cid','dli','eju']
  3. players_1=players[:]
  4. print(players)
  5. print(players_1)
  6. players.append('jio')
  7. players_1.append('kio')
  8. print(players)
  9. print(players_1)
'
运行
  1. ['amy', 'bye', 'cid', 'dli', 'eju']
  2. ['amy', 'bye', 'cid', 'dli', 'eju']
  3. ['amy', 'bye', 'cid', 'dli', 'eju', 'jio']
  4. ['amy', 'bye', 'cid', 'dli', 'eju', 'kio']

那如果不是复制副本又会怎样呢

  1. #只赋值变量,不赋值副本,且左赋右
  2. players=['amy','bye','cid','dli','eju']
  3. players_1=players
  4. print(players)
  5. print(players_1)
  6. players.append('jio')
  7. players_1.append('kio')
  8. print(players)
  9. print(players_1)
'
运行
  1. ['amy', 'bye', 'cid', 'dli', 'eju']
  2. ['amy', 'bye', 'cid', 'dli', 'eju']
  3. ['amy', 'bye', 'cid', 'dli', 'eju', 'jio', 'kio']
  4. ['amy', 'bye', 'cid', 'dli', 'eju', 'jio', 'kio']

很显然,在改变players的值后players_1的列表也跟着改变,即复制副本后,二者修改列表值不受影响。

3.4元组

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

3.4.1定义元组及遍历

¥元组(tuple)是关系数据库中的基本概念,关系是一张表,表中的每行(即数据库中的每条记录)就是一个元组,每列就是一个属性。 在二维表里,元组也称为行。

¥定义一个只包含一个元素的元组,必须在这个元素后面加上逗号

例如,如果有一个大小不应该变得矩形,可将其长度和宽度存储在一个元组中,从而确保它们是不能修改的。

遍历依旧使用for循环

  1. dimensions=(200,50)
  2. print(dimensions[0])
  3. print(dimensions[1])
  4. for dimension in dimensions:
  5. print(dimension)
  6. print("\n")
'
运行
  1. 200
  2. 50
  3. 200
  4. 50

3.4.2修改元组的变量

虽然不能直接修改元组的元素,但可以给存储元组的变量赋值。因此如果要修改前述矩形的尺寸,可重新定义整个元组(可以改变整体元组,不能改变值)

  1. dimensions=(200,50)
  2. print(dimensions[0])
  3. print(dimensions[1])
  4. for dimension in dimensions:
  5. print(dimension)
  6. print("\n")
  7. #元组不可单独修改元素值,但可以给存储元组的变量赋值
  8. dimensions=(300,100)
  9. print(dimensions[0])
  10. print(dimensions[1])
  11. for dimension in dimensions:
  12. print(dimension)
'
运行
  1. 200
  2. 50
  3. 200
  4. 50
  5. 300
  6. 100
  7. 300
  8. 100

 

请指正

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号