python编程基础(三):操作列表 & 元组

本文主要介绍了Python编程中关于列表和元组的基础操作,包括遍历列表、创建数值列表、使用列表切片以及元组的定义与特性。通过示例详细讲解了如何遍历列表、生成数值列表、进行列表统计、使用切片以及理解元组的不可变性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、遍历列表

1、在遍历数组或者列表的时候,我们首先想到的就是循环结构,常用的也就是for循环了,所以在python在遍历列表时,我们也用for

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

首先在(1) 定义一个列表,由 python编程基础(二):列表 中,我们在定义一个列表名称时最好是定义成复数的名称,比如本例子中magicians

其次在(2)行,使用for,此句末尾一定要加冒号" : ",此句表示的是从  magicians 中依次取出元素,并赋值给magician这个变量。这种命名就可以看成,复数表示的是一个集合,而单数表示的就是集合中的元素。

在(3)行,将存储在magician中的信息打印出来

注意:在使用循环时,选择描述单个列表元素的有意义的名称大有帮助,比如:小猫列表,小狗列表,一般列表,可以使用下面的定义名称的方式:

for cat in cats:
for dog in dogs:
for item in list_of_items:

 

二、创建数值列表

1、使用函数 range()产生一系列数字

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


结果:
1
2
3
4

可以观察到,虽然程序写的是range(1,5)  但是不会生成5,只能到4,注意,如果使用range(10)意思是生成0-9的10个数

total = 0

for number in range(30):
    print(number)
    total = total + 1
    
print(total)

结果:
0
1
2
3
4
5
6
7
8
9

2、使用range() 创建数字列表

(1)、用 list() 来生成

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

结果:
[1,2,3,4,5]

(2)、生成其他特殊的列表

for value in range(1,11):
    squares.append(value**2)

print(squares)

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

其实可以使用列表解析来实现,实现起来更加简洁方便。如下:

列表解析是将 for 循环 和创建新元素的代码合并在一起

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

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

注意在使用 列表解析的时候  for 循环后面就没有冒号

3、对列表中的数据做简单统计

digits = list(range(1,10))
digits.append(0)
print(digits)

min_digit = min(digits)
print(min_digit)

max_digit = max(digits)
print(max_digit)

sum_digit = sum(digits)
print(sum_digit)    


结果:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
0
9
45

可以用 min()   max()   sum(),来求列表中的最小值、最大值、求和

 

三、使用列表中的一部分(切片)

1、切片

与range相同,不会到达设定的结束索引,因此在创建切片的时候再最后的索引上加1,比如像索引列表中前3个变量,那么索引范围不能是(0,2),而应该是(0,3)这样才是列表中的前三个:0 1 2

players = ['aaa','bbb','ccc','ddd','eee','fff','jjj','hhh','iii']
print(players[1:4])  # 打印 2~4 的元素
print(players[:4])   # 由于没有起始索引,因此就会从列表开头开始
print(players[2:])   # 由于没有终止索引,因此就截止到列表结束
print(players[-3:])  # -3 表示从倒数第3个变量开始


结果:
['bbb', 'ccc', 'ddd']
['aaa', 'bbb', 'ccc', 'ddd']
['ccc', 'ddd', 'eee', 'fff', 'jjj', 'hhh', 'iii']
['jjj', 'hhh', 'iii']

2、遍历切片

可以使用 for 循环来遍历切片

players = ['aaa','bbb','ccc','ddd','eee','fff','jjj','hhh','iii']
for player in players[:3]:
    print(player)


结果:
aaa
bbb
ccc

切片索引是[:3],因此就是 0  1  2 表示列表的前三个

3、复制列表

在列表的复制时,一定要使用如下的形式:

列表1 = 列表2[ : ]    %此时是完成了列表的复制

而不能直接相等,如下:

列表1 = 列表2    % 此时只是将列表1 关联到 列表2;其实列表1 跟 列表2 表示的是同一个向量

my_foods = ['aaa','bbb','ccc','ddd']
friend_foods = my_foods[:]

my_foods.append('ssd')
friend_foods.append('wer')

print("my")
print(my_foods)

print("you")
print(friend_foods)


结果:
my
['aaa', 'bbb', 'ccc', 'ddd', 'ssd']
you
['aaa', 'bbb', 'ccc', 'ddd', 'wer']

可以发现使用  列表1 = 列表2[ : ]  结果是有两个列表,若使用列表1 = 列表2  则不一样

my_foods = ['aaa','bbb','ccc','ddd']
friend_foods = my_foods

my_foods.append('ssd')
friend_foods.append('wer')

print("my")
print(my_foods)

print("you")
print(friend_foods)

结果:
my
['aaa', 'bbb', 'ccc', 'ddd', 'ssd', 'wer']
you
['aaa', 'bbb', 'ccc', 'ddd', 'ssd', 'wer']

可以发现,这种情况下,friend_foods   和   my_foods   表示的是一个列表

四、元组

不可变的列表就是元组

元组看起来像是 列表 但是元组是使用 圆括号来标识,而非是方括号。

元组:

dimensions = (200,100)

lists=[200,100]

1、定义元组

dimensions = (200,100)
print(dimensions[0])
print(dimensions[1])

结果:
200
100

2、修改元组

元组是不允许修改其中的元素的,但是可以给他的变量做赋值

dimensions = (200,100)
#dimensions[0] = 500   这样是不行的额,不能修改元组中的元素
print(dimensions[0])
print(dimensions[1])



dimensions = (300,700)
print(dimensions[0])
print(dimensions[1])


结果:
200
100
300
700

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值