python列表切片后得到剩余列表_Python列表操作:遍历、range()、列表解析、列表切片、列表复制、元组...

本文介绍了Python中列表的各种操作,包括遍历列表、使用range()生成数字序列、列表解析式创建新列表、列表切片以及列表的复制方法。还探讨了元组的基本使用,强调了元组的不可变性。
摘要由CSDN通过智能技术生成

列表操作:遍历、range()、列表解析、列表切片、列表复制、元组

1. 遍历列表

letters = ['A','B','C','D','E','F','G']

for letter in letters:

print(letter)

输出:

A

B

C

D

E

F

G

记得for ...... :有冒号,循环内容要缩进(indent)来表示它属于当前循环。

缩进约定俗成打4个空格。

2. range()

range能生成一系列数字。几乎所有语言在数字范围上都遵循[left, right)的做法,故range(left, right)会生成一系列从left到right-1、步长为1的数字。

nums = list(range(0,10))

print(nums)

输出:

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

其他用法:

#循环内使用

for value in range(1,5):

print(value)

#设置步长:range(left,right,步长)

even_numbers = list(range(2,11,2)) #2 4 6 8 10

3. 列表解析

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

print(squares)

输出:

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

用法:

首先指定一个描述性的列表名(squares)

然后,指定一个左方括号,并定义一个表达式(value**2),用于生成你要存储到列表中的值。

编写一个for循环,用于给表达式提供值,再加上右方括号。

4. 列表切片

letters = ['A','B','C','D','E','F','G']

#用letters[left,right]来切出索引为left到right-1的这部分列表

print(letters[0:3]) # A B C

#省略左界,将自动从列表开头开始

print(letters[:4]) # A B C D

#省略右界,将终止于列表尾

print(letters[3:]) # D E F G

#也可以用负的左界,并省略右界,表示切出倒数几个元素

print(letters[-3:]) #最后三个字母,E F G

#复制整个列表

letters_copy = letters[:] #列表letters_copy内容和letters一样

注意:

在上面的复制中,letters_copy = letters[:]将拷贝一份letters的内容到letters_copy里,如果你写letters_copy = letters,这将把letters赋给letter_copy从而使两者指向同一个变量:

letters = ['A','B','C','D','E','F','G']

letters_copy = letters

letters.append('1')

letters_copy.append('2')

print(letters)

print(letters_copy)

输出:

['A', 'B', 'C', 'D', 'E', 'F', 'G', '1', '2']

['A', 'B', 'C', 'D', 'E', 'F', 'G', '1', '2']

可以看到letters_copy = letters将使两者成为同一个变量。

5.元组

元组使用()而不是[],我们可以改变整个元组,而不能改变元组的元素。

#访问元素

dimensions = (200, 50) #定义元组

print(dimensions[0])

print(dimensions[1])

输出:

200

50

#遍历元素

for dimension in dimensions:

print(dimension)

输出:

200

50

#修改元组

dimensions = (200,50)

dimensions = (400,100) #正确,可以直接修改整个元组

dimensions[0] = 10086 #错误,不能修改元组的元素

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值