重温Python基础——操作列表

哈喽兄弟们,今天咱们来复习一下Python基础中的列表操作,不知道各位还记得多少呢?

遍历整个列表加粗样式

遍历列表的所有元素,对每一个元素进行相同的操作,是我们常常所需要的。在python中可使用for()循环。

假如我们需要将一个列表中的手机品牌一一打印,我们可以分别获取手机品牌的名字。如果数据特别的,对我们的操作要求量很大,而且容易输入错误,但使用for循环,python可以帮你解决这些问题。

例如:

shouji=['iphone','huawei','xiaomi','vivo','oppo']
for shoujis in shouji:
    print(shoujis)

 

运行结果

iphone
huawei
xiaomi
vivo
oppo

 

深入研究循环

循环这一概念非常重要,它是计算机自动重复完成工作的常见方法之一。
python首先读取第一行命令 for shoujis in shouji: 这让python获取到列表shouji的第一个值,iphone,然后下一行 print(shoujis),于是打印出读取出的第一个值 iphone ,如此循环。

在for循环中执行更多命令

在for循环中可对每一个元素执行任意操作。下列展示对没一部手机打印一条消息

# Python资料源码领取q群:708525271
shouji=['iphone','huawei','xiaomi','vivo','oppo']
for shoujis in shouji:
    print(f"{shoujis.title()}  it is a good phone")

 

运行结果

Iphone  it is a good phone
Huawei  it is a good phone
Xiaomi  it is a good phone
Vivo  it is a good phone
Oppo  it is a good phone  

 

在for循环后面,每一个缩进的代码都是循环的一部分。将针对列表的每一个值都执行一次。

在for循环结束后执行一些操作

在for循环后面,没有缩进的代码只执行一次,不会重复执行。现在操作一下对于所有手机予以五行好评,代码不缩进。

# Python资料源码领取q群:708525271
shouji=['iphone','huawei','xiaomi','vivo','oppo']
for shoujis in shouji:
    print(f"{shoujis}  it is a good phone")
print("我给出五星好评")

 

运行结果

iphone  it is a good phone
huawei  it is a good phone
xiaomi  it is a good phone
vivo  it is a good phone
oppo  it is a good phone
我给出五星好评

 

开始编写正确缩进代码时,需要注意常见的缩进错误,对于for循环部分且属于组成循环的代码行,一定要缩进!有时候忘记缩进代码会运行且不报告错误,结果很可能出乎你的意料。

使用函数range()

range()可以轻松的帮助你生产一系列数
例如:

for value in range(1,5):
    print(value)

 

运行结果

1
2
3
4

 

上述代码好像打印1到5,实际并不打印5。这是编辑语言中常见的差一行行为的结果。如果需要打印5,则需要使用
for value in range(1,6):
调用函数**range()**时,也可指定打印一个参数,他将从0开始。

使用range()创建数字列表

要创建数字列表,可使用函数list()将range()的结果直接转换为列表。如果将range()作为list()的一个参数,输出的将时数字列表。

numbers = list(range(1,6))
print(numbers)

 

运行结果

[1, 2, 3, 4, 5]

 

使用range函数也可指定步长

numbers = list(range(1,6,2))
print(numbers)

 

运行结果

[1, 3, 5]

 

使用range()依然可以创建一些你想要的数集,例如得出在0——10中偶数的平方的数集

squares = []
for numbers in range(0,11,2):
   square = numbers ** 2
   squares.append(square)
print(squares)

 

运行结果

[0, 4, 16, 36, 64, 100]

 

切片

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

你可以生产列表的任意子集,如果想提取列表的第1,2,3个数,可将起始索引指定为0,终止索引指定为3。

如果起始没有指定索引那么python将在开头开始提取
如果终止没有指定索引那么python将至结尾结束

value = list(range(1,11))
print(value[0:3])
print(value[4:])
print(value[:4])

 

运行结果

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

 

元组

列表非常适合用于存储在程序运行期间可能变化的数据集。列表时可以修改的。但有时候需要创建一系列不可修改的元素,元组可以满足这种需求。
元组看起来很像列表,使用圆括号而不是中括号来标识。定义元组后,可以使用索引来访问元素,就像访问列表一样。
下例操作一下元组及尝试修改元组。

name = ('xiao','xiong')
print(name[0])
print(name[1])
name[1]='old'

 

运行结果

Traceback (most recent call last):
  File "C:\Users\Desktop\python\py1.py", line 195, in <module>
    name[1]='old'
TypeError: 'tuple' object does not support item assignment
xiao
xiong

 

由此可见,如果对元组内的数据进行更改,则会出现报错。
按照列表访问的方法可以正常访问。

遍历元组中的所有值

像列表一样,可以使用for循环来遍历元组中的所有值

numbers = (1,2,3,4,5,6)
for number in numbers:
    print(number)

 

#运行结果

1
2
3
4
5
6

 

修改元组变量

虽然不能修改元组的元素,但可以存储元组的变量赋值。因此可以遍历整个元组:

numbers = (1,2,3,4,5,6)
print("original numbers")
for number in numbers:
    print(number)
numbers = (11,22,33,44,55,66)
print("change numbers")
for number in numbers:
    print(number)

 

运行结果

original numbers
1
2
3
4
5
6
change numbers
11
22
33
44**加粗样式**
55
66

 

首先定义一个元组,并将其存储的数据打印出来,接下来将一个新元组关联到变量numbers,然后打印新的数据。这一次可以成功编译,因为给元组变量重新赋值是合法的。

今天的分享就到这里结束了,祝各位早日学有所成!

posted @ 2022-11-08 14:35  轻松学Python  阅读(236)  评论(0编辑  收藏  举报