Python学习笔记

简介

之前学python时是看视频学习的,发现太多语法用法已经忘了,现在在看书,这是我在学习中记下的笔记,以便日后回顾复习,欢迎各位大佬能够指出我的不足之处,谢谢!

一.序列

1.列表

1.1.列表是什么?

列表是由一系列按特定顺序排列的元素组成,是用([ ])来表示列表,并且用逗号分隔元素。访问列表元素时就像C语言一样,根据索引访问并且同样索引从0开始而不是1开始。另外将索引指定为-1,可以返回列表最后一个元素。

my_list = ['python','java','c','c#']
print(my_list[0])		#结果为 python
print(my_list[-1])		#结果为 c#

1.2 列表的方法

(1)修改
只需指定列表名和要修改元素的索引,再指定该元素的新值

my_list[2] = "c++"

(2)添加

  1. 在列表 末尾 添加元素可使用 append( ) 方法:list.append(“go”)
  2. 在列表中插入元素可使用方法insert( ),可在列表任何位置添加新元素:list.insert(1, ‘程序员’)

(3)删除

方法解释
del知其索引,可删除任何位置处的列表元素,删除后不可再使用它
pop()无参时,可删除列表末尾的元素;有参时(pop(0))可删除指定要删除的元素。有返回值即删除元素后还能使用它。
remove()知其值删,参数是想要删除的值,删除后可继续使用值

调用方式:

del my_list[0]
shanchu = my_list.pop()
print(list)
print(shanchu)
shanchu = my_list.pop(2)
shanchu = my_list.remove("java")

(4)排序
1.sort() 永久性排序
用来对列表中的元素进行排序,默认是升序排列;如果需要降序排列,则需要传递一个reverse=True作为参数。
2.sorted() 临时排序
能够按特定顺序显示列表元素,同时不影响原始排序顺序。

my_list = list('asnbdnbasdabd')	## list()将任何序列转化为列表
print('修改前',my_list)
my_list.sort()
print('修改后',my_list)
my_list.sort(reverse=True)
print('修改后',my_list)

my_list = [1,3,4,56,2,65,8]
print('修改前',my_list)
print('修改后'+sorted(my_list))
print('原始列表',my_list)

>>>修改前 ['a', 's', 'n', 'b', 'd', 'n', 'b', 'a', 's', 'd', 'a', 'b', 'd']
>>>修改后 ['a', 'a', 'a', 'b', 'b', 'b', 'd', 'd', 'd', 'n', 'n', 's', 's']
>>>修改后 ['s', 's', 'n', 'n', 'd', 'd', 'd', 'b', 'b', 'b', 'a', 'a', 'a']

>>>修改前 [1, 3, 4, 56, 2, 65, 8]
>>>[1, 2, 3, 4, 8, 56, 65]
>>>sorted()排序后 [1, 3, 4, 56, 2, 65, 8]

(5)

clear( ) 清空序列
reserve( ) 反转列表
len() 获取列表中的元素的个数
min() 获取列表中的最小值
max() 获取列表中的最大值
index() 获取指定元素在列表中的第一次出现时索引,三个参数,第二、三为指定的起始位置
count() 统计指定元素在列表中出现的次数

##具体用法格式:

my_list = ['java','c','python','c++','c']
print(len(my_list))
print(max(my_list))
print(my_list.index('c'))
print(my_list.count('c'))
my_list.reverse()
print(my_list)
print(my_list.clear())

>>>5
>>>python
>>>1
>>>2
>>>['c', 'c++', 'python', 'c', 'java']
>>>None

1.3 操作列表

1.3.1 in 和 not in
in用来检查指定元素是否存在于列表中,如果存在,返回True,否则返回False not in用来检查指定元素是否不在列表中,如果不在,返回True,否则False
1.3.2 遍历列表
通过for循环来遍历列表——for 变量 in 序列 :

my_list = ['java','c','python','c++','c']
>>>java
>>>c
>>>python
>>>c++
>>>c
最后我会介绍列表推导和生成器表达式

1.3.3 切片
切片指从现有列表中,获取一个子列表。
语法:列表[起始:结束]
注意
通过切片获取元素时,会包括起始位置的元素,不会包括结束位置的元素
做切片操作时,总会返回一个新的列表,不会影响原来的列表
起始和结束位置的索引都可以省略不写
如果省略结束位置,则会一直截取到最后
如果省略起始位置,则会从第一个元素开始截取
如果起始位置和结束位置全部省略,则相当于创建了一个列表的副本

my_list = ['java','c','python','c++','c']
print(my_list[1:])
print(my_list[:3])
new = my_list[:]
print(new)
['c', 'python', 'c++', 'c']
['java', 'c', 'python']
['java', 'c', 'python', 'c++', 'c']

另外,列表还有第三个参数,表示步长
语法:列表[起始:结束:步长]
步长表示,每次获取元素的间隔,默认值是1
步长不能是0,但是可以是负数,如果是负数,则会从列表的后部向前边取元素

my_list = ['java','c','python','c++','c']
print(my_list[: :2])
print(my_list[3:1:-1])
['java', 'python', 'c']
['c++', 'python']

1.3.4 创建数值列表(range())
要创建数字列表,可使用函数list( )将range( )的结果转化为列表。

r = list(range(5))  # 生成一个这样的列表[0,1,2,3,4]

该函数还可以指定步长:

r = list(range(2,11,2))		# 打印1~10到偶数

通过range( )可以创建一个执行指定次数的for循环:

for i in range(10):
    print(i,end=' ')
# 输出  0 1 2 3 4 5 6 7 8 9 

2. 元组

元组(tuple)是一个不可变的序列,它的操作的方式基本上和列表是一致的,所以在操作元组时,就把元组当成是一个不可变的列表就ok了。
一般当我们希望数据不改变时,就使用元组,其余情况都使用列表
2.1 创建元组
使用 ()来创建元组,当元组不是空元组时,括号可以省略。
注意 : 元组是不可变对象,不能尝试为元组中的元素重新赋值。

my_tuple = (1,2,3,4,5) # 创建了一个5个元素的元组
my_tuple = 1,2,3

my_tuple[3] = 10  #错误!

2.2 元组的解包
解包指就是将元组当中每一个元素都赋值给一个变量

my_tuple = 1,2,3
a,b,c = my_tuple
print("a =",a)
print("b =",b)
print("c =",c)
a = 1
b = 2
c = 3

在对一个元组进行解包时,变量的数量必须和元组中的元素的数量一致,也可以在变量前边添加一个*,这样变量将会获取元组中所有剩余的元素,但不能同时出现两个或以上的*变量

my_tuple = 10 , 20 , 30 , 40
a,*b,c = my_tuple
print('a =',a)
print('b =',b)
print('c =',c)
a = 10
b = [20, 30]
c = 40

今天到这里结束,接下来将介绍列表推导和生成器表达式~~~~

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值