Python 学习(1):基础知识点

本文是Python学习系列的第一篇,主要介绍了列表的基础操作,包括定义、访问、添加、删除元素,以及组织和操作列表的方法。此外,还讲解了切片操作和元组的概念,强调了元组的不可变性。通过实例展示了如何使用pop()方法、排序、遍历、列表解析等,帮助读者掌握Python列表的核心特性。

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

忙忙碌碌的研究生生活开始了,因为学习需求,学习一下Python。接下来的几天会很快的刷一下语法。这是第一篇。


列表

列表由一系列按特定顺序排列的元素组成。

基本操作

定义方式:

bicycles = ['trek', 'cannondale', 'redline', 'specialized']

访问方式

print(bicycles)

输出结果

['trek', 'cannondale', 'redline', 'specialized']

访问列表内部元素(下标访问,从零开始)

print(bicycles[0])

支持倒数访问

print(bicycles[-1]) # 访问最后一个元素
print(bicycles[-2]) # 访问倒数第二个元素

添加元素

bicycles.append('test')

插入元素

bicycles.insert(0, 'test2') # ‘0’表示插在列表开头,后面的元素下标依次向后推一个。

删除元素

del bicycles[1] # 删除列表的第二的元素
pop()

方法pop()可删除列表末尾的元素,并让你能够接着使用它。弹出(pop)源自这样的类
比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。

testpop = ['aa','bb','cc','dd']
print(testpop)
ret_pop = testpop.pop()
print(testpop)
print(ret_pop)

结果输出

['aa', 'bb', 'cc', 'dd']
['aa', 'bb', 'cc']
dd
通过传入索引可以弹出对应的元素
ret_pop = testpop.pop(2)
print(testpop)
print(ret_pop)

结果输出

['aa', 'bb', 'cc', 'dd']
['aa', 'bb', 'dd']
cc
通过内容删除元素
testpop.remove('cc')

组织列表

排序

testpop = ['aa','dd','bb','cc']
testpop.sort()
print(testpop)

默认回根据ASCII码排序(从小到大)。reverse=True参数可以改变方向。sorted(testpop)会把排序结果返回,并不会改变原来的列表。也可称之为临时排序。

确定列表长度

通过len() 函数返回长度

testpop = ['aa','dd','bb','cc']
print(len(testpop))

操作列表

循环遍历

testpop = ['aa','bb','cc','dd']
for element in testpop:
    print(element)

输出结果

aa
bb
cc
dd

通过代码缩进关系表示一个循环包含的内容


数值列表

创建

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

输出结果

1
2
3
4
5

所以range(),生成的值包含开头不包含结尾。

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

可以创建一个数字列表。
另外range()可以传入第三个参数来控制步子长,即数字的间隔

print(list(range(1,20,3)))

输出

[1, 4, 7, 10, 13, 16, 19]

统计操作

min()max()sum()三个函数可以对数值列表进行取小、取大、求和操作。

列表解析

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循环,用于给表达式提供值,再加上右方括号。


切片操作

截取

切片操作可以简单快速的提取列表中的元素。类似于Matlab中的语法操作。

test = ['aa','bb','cc','dd','ee']
print(test[0:3])

输出结果

['aa', 'bb', 'cc']

值得注意的是,类似于range()操作。切片的元素包含开头不包含索引。也就是说[0:3]切出的元素是0,1,2三个元素
[a:b]可以省略参数,[:3]省略第一个参数表示从开头截取,[2:]省略第二个元素表示截取到结尾。同事也支持传入负数表示列表从后向前的索引序号。

遍历

test = ['aa','bb','cc','dd','ee']
for element in test[1:4]:
    print(element)

输出结果

bb
cc
dd

复制

如果直接执行test2 = test这样的语句,两个变量名会指向同一个列表,修改其中的一个列表中的元素会影响另一个列表的元素(其实就是同一个列表)。如下代码

test = ['aa','bb','cc','dd','ee']
test2 = test
print(test)
print(test2)
test2[0] = 'AA'
print(test)
print(test2)

输出结果

['aa', 'bb', 'cc', 'dd', 'ee']
['aa', 'bb', 'cc', 'dd', 'ee']
['AA', 'bb', 'cc', 'dd', 'ee']
['AA', 'bb', 'cc', 'dd', 'ee']

这样并不是真正意义上的复制
复制可以借助切片的方式来操作。并且可以控制复制的范围。同时[:]省略前后=参数表示全部复制。

test = ['aa','bb','cc','dd','ee']
test2 = test[:]
print(test)
print(test2)
test2[0] = 'AA'
print(test)
print(test2)

输出结果

['aa', 'bb', 'cc', 'dd', 'ee']
['aa', 'bb', 'cc', 'dd', 'ee']
['aa', 'bb', 'cc', 'dd', 'ee']
['AA', 'bb', 'cc', 'dd', 'ee']

可以看到这样的操作后,两个变量名对应着两个列表,修改其中一个不会影响另一个列表的内容。


元组

列表的元素内容可以随时修改,但是元组的内容无法修改

定义

test = ('aa','bb','cc','dd','ee')
test[0] = 'AA'   # 错误代码 内容无法修改

遍历

方法和列表相同

修改元素

元组的内容无法直接修改,但是可以通过重新赋值的方式改变

test = ('aa','bb','cc','dd','ee')
print(test)
test = ('AA','bb','cc','dd','ee')
print(test)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值