Python基础整理(一万三千字)(一)

目录

一、Python解释器

解释器的作用:

下载Python解释器:

安装Python解释器:

二、注释

三、变量

定义变量:

标识符:

命名习惯:

变量使用:

变量的数据类型:

四、输出

格式化输出

格式化符号:

转义字符

结束符

五、输入

输⼊的语法:

六、转换数据类型

转换数据类型的作⽤

转换数据类型的函数

七、运算符

分类:

算数运算符:

赋值运算符:

复合赋值运算符

⽐较运算符

逻辑运算符

拓展

[八、if 语法](#八、if 语法)

if...else...

多重判断的语法

if嵌套

九、三目运算符

十、循环

while的语法

for循环

else

十一、break和continue

十二、字符串

字符串特征

字符串输出

字符串输⼊

下标:

切片:

常⽤操作⽅法

判断

十三、元组

元组的常⻅操作

十四、列表

列表的格式

列表的常⽤操作


一、Python解释器

解释器的作用:

Python解释器作⽤:运⾏⽂件,通俗的来说,就是将程序员写的代码能让计算机看懂,翻译成计算机能够识别的01流

Python解释器种类:

CPython,C语⾔开发的解释器[官⽅],应⽤⼴泛的解释器。

IPython,基于CPython的⼀种交互式解释器。

其他解释器

PyPy,基于Python语⾔开发的解释器。

Jython,运⾏在Java平台的解释器,直接把Python代码编译成Java字节码执⾏。

IronPython,运⾏在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

下载Python解释器:

下载地址:Python Release Python 3.7.2 | Python.org

[单击上述链接] -- 查找⽬标⽂件:Windows x86-64 executable installer -- 单击即可下载。

安装Python解释器:

双击可执⾏⽂件 --- 勾选[pip] -- [Next] -- [勾选添加环境变量] -- [Install],按提示操作即可。

二、注释

通过⽤⾃⼰熟悉的语⾔,在程序中对某些代码进⾏标注说明,这就是注释的作⽤,能够⼤⼤增强程序的可读性。

注释分为两类:单⾏注释 和 多⾏注释。

单⾏注释

只能注释⼀⾏内容,语法如下:

python 复制代码
# 注释内容

多⾏注释

可以注释多⾏内容,⼀般⽤在注释⼀段代码的情况, 语法如下:

python 复制代码
# 输出函数
print("123")
# 注释不影响程序的执行结果
# 单行注释
print("123")
"""
    多行注释
    多行注释
"""
print("123")
'''
    多行注释
    多行注释
'''
print("123")

三、变量

程序中,数据都是临时存储在内存中,为了更快速的查找或使⽤这个数据,通常我们把这个数据在内存中存储之后定义⼀个名称,这个名称就是变量。

定义变量:

python 复制代码
变量名 = 值

变量名⾃定义,要满⾜标识符命名规则。

标识符:

标识符命名规则是Python中定义各种名字的时候的统⼀规范,具体如下:

        • 由数字、字⺟、下划线组成
        • 不能数字开头
        • 不能使⽤内置关键字
        • 严格区分⼤⼩写

命名习惯:

      • ⻅名知义。
      • ⼤驼峰:即每个单词⾸字⺟都⼤写,例如: MyName 。
      • ⼩驼峰:第⼆个(含)以后的单词⾸字⺟⼤写,例如: myName 。
      • 下划线:例如: my_name 。

变量使用:

python 复制代码
# 定义变量
a = 0
print(a)

# 定义变量:存储数据TOM
my_name = 'TOM'
print(my_name)

# 定义变量:原神启动!
name = '原神启动!'
print(name)

变量的数据类型:

在 Python ⾥为了应对不同的业务需求,也把数据分为不同的类型。

检测数据类型的⽅法: type()

python 复制代码
# 检测数据类型 type()函数
num1 = 1
num2 = 1.1
a = 'Hello World'
b = True
c = [1,2,3] # 列表数据类型list
d = (10,20,30) # 元组数据类型tuple
e = {10,20,30} # 集合数据类型set
f = {'name':'TOM',
     'age':18} # 字典数据类型dict
print(type(num1))
print(type(num2))
print(type(a))
print(type(b))
print(type(c))
print(type(d))
print(type(e))
print(type(f))

四、输出

格式化输出

所谓的格式化输出即按照⼀定的格式输出内容。

格式化符号:

常用:

%06d,表示输出的整数显示位数,不⾜以0补全,超出当前位数则原样输出。

%.2f,表示⼩数点后显示的⼩数位数。

格式化字符串除了%s,还可以写为 f'{表达式}'

python 复制代码
age = 18
name = 'TOM'
weight = 75.5
student_id = 1
# 我的名字是TOM
print('我的名字是%s' % name)
# 我的学号是0001
print('我的学号是%4d' % student_id)
# 我的体重是75.50公⽄
print('我的体重是%.2f公⽄' % weight)
# 我的名字是TOM,今年18岁了
print('我的名字是%s,今年%d岁了' % (name, age))
# 我的名字是TOM,明年19岁了
print('我的名字是%s,明年%d岁了' % (name, age + 1))
# 我的名字是TOM,明年19岁了
print(f'我的名字是{name}, 明年{age + 1}岁了')

f-格式化字符串是Python3.6中新增的格式化⽅法,该⽅法更简单易读。

转义字符

\n :换⾏。

\t :制表符,⼀个tab键(4个空格)的距离。

结束符

想⼀想,为什么两个print会换⾏输出?

python 复制代码
print('输出的内容', end="\n") 

在Python中,print(), 默认⾃带 end="\n" 这个换⾏结束符,所以导致每两个 print 直接会换⾏展示,⽤户可以按需求更改结束符。

五、输入

程序接收⽤户输⼊的数据的功能即是输⼊。

输⼊的语法:

python 复制代码
input("提示信息")

输⼊的特点:

      • 当程序执⾏到 input ,等待⽤户输⼊,输⼊完成之后才继续向下执⾏。
      • 在Python中, input 接收⽤户输⼊后,⼀般存储到变量,⽅便使⽤。
      • 在Python中, input 会把接收到的任意⽤户输⼊的数据都当做字符串处理。
python 复制代码
password = input('请输⼊您的密码:')
print(f'您输⼊的密码是{password}')
# <class 'str'>
print(type(password))

六、转换数据类型

转换数据类型的作⽤

问:input()接收⽤户输⼊的数据都是字符串类型,如果⽤户输⼊1,想得到整型该如何操作?

答:转换数据类型即可,即将字符串类型转换成整型。

转换数据类型的函数

python 复制代码
# 1. float() -- 转换成浮点型
num1 = 1
print(float(num1))
print(type(float(num1)))
# 2. str() -- 转换成字符串类型
num2 = 10
print(type(str(num2)))
# 3. tuple() -- 将⼀个序列转换成元组
list1 = [10, 20, 30]
print(tuple(list1))
print(type(tuple(list1)))
# 4. list() -- 将⼀个序列转换成列表
t1 = (100, 200, 300)
print(list(t1))
print(type(list(t1)))
# 5. eval() -- 将字符串中的数据转换成Python表达式原本类型
str1 = '10'
str2 = '[1, 2, 3]'
str3 = '(1000, 2000, 3000)'
print(type(eval(str1)))
print(type(eval(str2)))
print(type(eval(str3)))

七、运算符

分类:

    • 算数运算符
    • 赋值运算符
    • 复合赋值运算符
    • ⽐较运算符
    • 逻辑运算符

算数运算符:

注意:

混合运算优先级顺序: () ⾼于 ** ⾼于 * / // % ⾼于 + -

赋值运算符:

单个变量赋值:

python 复制代码
num = 1
print(num)

多个变量赋值:

python 复制代码
num1, float1, str1 = 10, 0.5, 'hello world'
print(num1)
print(float1)
print(str1)

多变量赋相同值:

python 复制代码
a = b = 10
print(a)
print(b)

复合赋值运算符

python 复制代码
a = 100
a += 1
# 输出101 a = a + 1,最终a = 100 + 1
print(a)
b = 2
b *= 3
# 输出6 b = b * 3,最终b = 2 * 3
print(b)
c = 10
c += 1 + 2
# 输出13, 先算运算符右侧1 + 2 = 3, c += 3 , 推导出c = 10 + 3
print(c)

⽐较运算符

⽐较运算符也叫关系运算符, 通常⽤来判断。

python 复制代码
a = 7
b = 5
print(a == b) # False
print(a != b) # True
print(a < b) # False
print(a > b) # True
print(a <= b) # False
print(a >= b) # True

逻辑运算符

python 复制代码
a = 1
b = 2
c = 3
print((a < b) and (b < c)) # True
print((a > b) and (b < c)) # False
print((a > b) or (b < c)) # True
print(not (a > b)) # True

拓展

数字之间的逻辑运算

python 复制代码
a = 0
b = 1
c = 2
# and运算符,只要有⼀个值为0,则结果为0,否则结果为最后⼀个⾮0数字
print(a and b) # 0
print(b and a) # 0
print(a and c) # 0
print(c and a) # 0
print(b and c) # 2
print(c and b) # 1
# or运算符,只有所有值为0结果才为0,否则结果为第⼀个⾮0数字
print(a or b) # 1
print(a or c) # 2
print(b or c) # 1

八、if 语法

语法:

python 复制代码
if 条件:
 条件成⽴执⾏的代码1
 条件成⽴执⾏的代码2
 ......

if...else...

作⽤:条件成⽴执⾏if下⽅的代码; 条件不成⽴执⾏else下⽅的代码。

python 复制代码
if 条件:
 条件成⽴执⾏的代码1
 条件成⽴执⾏的代码2
 ......
else:
 条件不成⽴执⾏的代码1
 条件不成⽴执⾏的代码2
 ......

多重判断的语法

python 复制代码
if 条件1:
 条件1成⽴执⾏的代码1
 条件1成⽴执⾏的代码2
 ......
elif 条件2:
 条件2成⽴执⾏的代码1
 条件2成⽴执⾏的代码2
 ......
......
else:
 以上条件都不成⽴执⾏执⾏的代码

多重判断也可以和else配合使⽤。⼀般else放到整个if语句的最后,表示以上条件都不成⽴的时候执⾏的代码。

if嵌套

python 复制代码
if 条件1:
  条件1成⽴执⾏的代码
  条件1成⽴执⾏的代码
 
  if 条件2:
   条件2成⽴执⾏的代码
   条件2成⽴执⾏的代码

注意:条件2的if也是出于条件1的缩进关系内部。

九、三目运算符

三⽬运算符也叫三元运算符或三元表达式。

语法如下:

python 复制代码
条件成⽴执⾏的表达式 if 条件 else 条件不成⽴执⾏的表达式 

例如:

python 复制代码
a = 1
b = 2
c = a if a > b else b
print(c)

十、循环

循环分为 while 和 for 两种,最终实现效果相同。

while的语法

python 复制代码
while 条件:
 条件成⽴重复执⾏的代码1
 条件成⽴重复执⾏的代码2
 ......

例如:计算1-100累加和

python 复制代码
i = 1
result = 0
while i <= 100:
 result += i
 i += 1
# 输出5050
print(result)

for循环

python 复制代码
for 临时变量 in 序列:
 重复执⾏的代码1
 重复执⾏的代码2
 ......

例如:

python 复制代码
str1 = 'it'
for i in str1:
  print(i)

else

循环可以和else配合使⽤,else下⽅缩进的代码指的是当循环正常结束之后要执⾏的代码。

while...else:

python 复制代码
while 条件:
 条件成⽴重复执⾏的代码
else:
 循环正常结束之后要执⾏的代码

for...else

python 复制代码
for 临时变量 in 序列:
  重复执⾏的代码
  ...
else:
  循环正常结束之后要执⾏的代码

所谓else指的是循环正常结束之后要执⾏的代码,即如果是break终⽌循环的情况,else下⽅缩进的代码将不执⾏。

十一、break和continue

break和continue是循环中满⾜⼀定条件退出循环的两种不同⽅式。

举例:⼀共吃5个苹果,吃完第⼀个,吃第⼆个...,这⾥"吃苹果"的动作是不是重复执⾏?

情况⼀:如果吃的过程中,吃完第三个吃饱了,则不需要再吃第4个和第五个苹果,即是吃苹果的动作停⽌,这⾥就是break控制循环流程,即终⽌此循环。

情况⼆:如果吃的过程中,吃到第三个吃出⼀个⼤⾍⼦...,是不是这个苹果就不吃了,开始吃第四个苹果,这⾥就是continue控制循环流程,即退出当前⼀次循环继⽽执⾏下⼀次循环代码。

使用break后,不会执行else中的内容,使用continue,循环结束以后,仍然会执行。

十二、字符串

字符串是 Python 中最常⽤的数据类型。我们⼀般使⽤引号来创建字符串。创建字符串很简单,只要为变量分配⼀个值即可。

python 复制代码
a = 'hello world'
b = "abcdefg"
print(type(a))
print(type(b))

注意:控制台显示结果为 , 即数据类型为str(字符串)。

字符串特征

⼀对引号字符串

python 复制代码
name1 = 'Tom'
name2 = "Rose"

三引号字符串

python 复制代码
name3 = ''' Tom '''
name4 = """ Rose """
a = ''' i am Tom,
         nice to meet you! '''
b = """ i am Rose,
         nice to meet you! """

注意:三引号形式的字符串⽀持换⾏。

思考:如果创建⼀个字符串 I'm Tom ?

python 复制代码
c = "I'm Tom"
d = 'I\'m Tom'

字符串输出

python 复制代码
print('hello world')
name = 'Tom'
print('我的名字是%s' % name)
print(f'我的名字是{name}')

字符串输⼊

在Python中,使⽤ input() 接收⽤户输⼊。

python 复制代码
name = input('请输⼊您的名字:')
print(f'您输⼊的名字是{name}')
print(type(name))
password = input('请输⼊您的密码:')
print(f'您输⼊的密码是{password}')
print(type(password))

下标:

"下标" ⼜叫 "索引" ,就是编号。⽐如⽕⻋座位号,座位号的作⽤:按照编号快速找到对应的座位。同理,下标的作⽤即是通过下标快速找到对应的数据。

字符串 name = "abcdef" ,取到不同下标对应的数据。

python 复制代码
name = "abcdef"
print(name[1])
print(name[0])
print(name[2])

注意:下标从0开始。

切片:

切⽚是指对操作的对象截取其中⼀部分的操作。字符串、列表、元组都⽀持切⽚操作。

语法:

python 复制代码
序列[开始位置下标:结束位置下标:步⻓]

注意

  1. 不包含结束位置下标对应的数据, 正负整数均可;

  2. 步⻓是选取间隔,正负整数均可,默认步⻓为1。

python 复制代码
name = "abcdefg"
print(name[2:5:1]) # cde
print(name[2:5]) # cde
print(name[:5]) # abcde
print(name[1:]) # bcdefg
print(name[:]) # abcdefg
print(name[::2]) # aceg
print(name[:-1]) # abcdef, 负1表示倒数第⼀个数据
print(name[-4:-1]) # def
print(name[::-1]) # gfedcba

常⽤操作⽅法

字符串的常⽤操作⽅法有查找、修改和判断三⼤类。

查找:

所谓字符串查找⽅法即是查找⼦串在字符串中的位置或出现的次数。

find():检测某个⼦串是否包含在这个字符串中,如果在返回这个⼦串开始的位置下标,否则则返回-1。

python 复制代码
字符串序列.find(⼦串, 开始位置下标, 结束位置下标)
python 复制代码
mystr = "hello world and  Python"
print(mystr.find('and')) # 12
print(mystr.find('and', 15, 30)) # 23
print(mystr.find('ands')) # -1

index():检测某个⼦串是否包含在这个字符串中,如果在返回这个⼦串开始的位置下标,否则则报异常。

python 复制代码
字符串序列.index(⼦串, 开始位置下标, 结束位置下标) 

注意:开始和结束位置下标可以省略,表示在整个字符串序列中查找。

python 复制代码
mystr = "hello world and  Python"
print(mystr.index('and')) # 12
print(mystr.index('and', 15, 30)) # 23
print(mystr.index('ands')) # 报错

rfind(): 和find()功能相同,但查找⽅向为右侧开始。

rindex():和index()功能相同,但查找⽅向为右侧开始。

count():返回某个⼦串在字符串中出现的次数。

replace():替换

python 复制代码
字符串序列.replace(旧⼦串, 新⼦串, 替换次数)

注意:替换次数如果查出⼦串出现次数,则替换次数为该⼦串出现次数。

python 复制代码
mystr = "hello world and  Python"
# 结果:hello world he Python
print(mystr.replace('and', 'he'))
# 结果:hello world he  Python
print(mystr.replace('and', 'he', 10))
# 结果:hello world and Python
print(mystr)

注意:数据按照是否能直接修改分为可变类型和不可变类型两种。字符串类型的数据修改的时候不能改变原有字符串,属于不能直接修改数据的类型即是不可变类型。

split():按照指定字符分割字符串。

python 复制代码
字符串序列.split(分割字符, num)

注意:num表示的是分割字符出现的次数,即将来返回数据个数为num+1个。

python 复制代码
mystr = "hello world and Python"
# 结果:['hello world ',' Python']
print(mystr.split('and'))
# 结果:['hello world ',' itheima and Python']
print(mystr.split('and', 2))
# 结果:['hello', 'world', 'and','Python']
print(mystr.split(' '))
# 结果:['hello', 'world', 'and Python']
print(mystr.split(' ', 2))

注意:如果分割字符是原有字符串中的⼦串,分割后则丢失该⼦串。

join():⽤⼀个字符或⼦串合并字符串,即是将多个字符串合并为⼀个新的字符串。

python 复制代码
字符或⼦串.join(多字符串组成的序列)
python 复制代码
list1 = ['chuan', 'zhi', 'bo', 'ke']
t1 = ('aa', 'b', 'cc', 'ddd')
# 结果:chuan_zhi_bo_ke
print('_'.join(list1))
# 结果:aa...b...cc...ddd
print('...'.join(t1))

capitalize():将字符串第⼀个字符转换成⼤写。

python 复制代码
mystr = "hello world and Python"
# 结果:Hello world python
print(mystr.capitalize())

注意:capitalize()函数转换后,只字符串第⼀个字符⼤写,其他的字符全都⼩写。

title():将字符串每个单词⾸字⺟转换成⼤写。

python 复制代码
mystr = "hello world and Python"
# 结果:Hello World And Python
print(mystr.title())

lower():将字符串中⼤写转⼩写。

python 复制代码
mystr = "hello world and Python"
# 结果:hello world and python
print(mystr.lower())

upper():将字符串中⼩写转⼤写。

python 复制代码
mystr = "hello world and Python"
# 结果:HELLO WORLD AND PYTHON
print(mystr.upper())

lstrip():删除字符串左侧空⽩字符。

rstrip():删除字符串右侧空⽩字符。

strip():删除字符串两侧空⽩字符。

ljust():返回⼀个原字符串左对⻬,并使⽤指定字符(默认空格)填充⾄对应⻓度 的新字符串。

python 复制代码
字符串序列.ljust(⻓度, 填充字符)

rjust():返回⼀个原字符串右对⻬,并使⽤指定字符(默认空格)填充⾄对应⻓度 的新字符串,语法和ljust()相同。

center():返回⼀个原字符串居中对⻬,并使⽤指定字符(默认空格)填充⾄对应⻓度 的新字符串,语法和ljust()相同。

判断

所谓判断即是判断真假,返回的结果是布尔型数据类型:True 或 False。

startswith():检查字符串是否是以指定⼦串开头,是则返回 True,否则返回 False。如果设置开始和结束位置下标,则在指定范围内检查。

python 复制代码
字符串序列.startswith(⼦串, 开始位置下标, 结束位置下标)
python 复制代码
mystr = "hello world and Python "
# 结果:True
print(mystr.startswith('hello'))
# 结果False
print(mystr.startswith('hello', 5, 20))

endswith()::检查字符串是否是以指定⼦串结尾,是则返回 True,否则返回 False。如果设置开始和结束位置下标,则在指定范围内检查。

python 复制代码
字符串序列.endswith(⼦串, 开始位置下标, 结束位置下标) 
python 复制代码
mystr = "hello world and Python"
# 结果:True
print(mystr.endswith('Python'))
# 结果:False
print(mystr.endswith('python'))
# 结果:False
print(mystr.endswith('Python', 2, 20))

isalpha():如果字符串⾄少有⼀个字符并且所有字符都是字⺟则返回 True, 否则返回 False。

python 复制代码
mystr1 = 'hello'
mystr2 = 'hello12345'
# 结果:True
print(mystr1.isalpha())
# 结果:False
print(mystr2.isalpha())

isdigit():如果字符串只包含数字则返回 True 否则返回 False。

python 复制代码
mystr1 = 'aaa12345'
mystr2 = '12345'
# 结果: False
print(mystr1.isdigit())
# 结果:False
print(mystr2.isdigit())

isalnum():如果字符串⾄少有⼀个字符并且所有字符都是字⺟或数字则返 回 True,否则返回False。

python 复制代码
mystr1 = 'aaa12345'
mystr2 = '12345-'
# 结果:True
print(mystr1.isalnum())
# 结果:False
print(mystr2.isalnum())

isspace():如果字符串中只包含空⽩,则返回 True,否则返回 False。

python 复制代码
mystr1 = '1 2 3 4 5'
mystr2 = ' '
# 结果:False
print(mystr1.isspace())
# 结果:True
print(mystr2.isspace())

十三、元组

列表可以⼀次性存储多个数据,但是列表中的数据允许更改。

⼀个元组可以存储多个数据,元组内的数据是不能修改的。

元组特点:定义元组使⽤⼩括号,且逗号隔开各个数据,数据可以是不同的数据类型。

python 复制代码
# 多个数据元组
t1 = (10, 20, 30)
# 单个数据元组
t2 = (10,)

注意:如果定义的元组只有⼀个数据,那么这个数据后⾯也好添加逗号,否则数据类型为唯⼀的这个数据的数据类型

python 复制代码
t2 = (10,)
print(type(t2)) # tuple
t3 = (20)
print(type(t3)) # int
t4 = ('hello')
print(type(t4)) # str

元组的常⻅操作

元组数据不⽀持修改,只⽀持查找,具体如下:

按下标查找数据

python 复制代码
tuple1 = ('aa', 'bb', 'cc', 'bb')
print(tuple1[0]) # aa

index():查找某个数据,如果数据存在返回对应的下标,否则报错,语法和列表、字符串的index⽅法相同。

python 复制代码
tuple1 = ('aa', 'bb', 'cc', 'bb')
print(tuple1.index('aa')) # 0

count():统计某个数据在当前元组出现的次数。

python 复制代码
tuple1 = ('aa', 'bb', 'cc', 'bb')
print(tuple1.count('bb')) # 2

len():统计元组中数据的个数。

python 复制代码
tuple1 = ('aa', 'bb', 'cc', 'bb')
print(len(tuple1)) # 4

注意:元组内的数据如果直接修改则⽴即报错

python 复制代码
tuple1 = ('aa', 'bb', 'cc', 'bb')
tuple1[0] = 'aaa'

但是如果元组⾥⾯有列表,修改列表⾥⾯的数据则是⽀持的。

python 复制代码
tuple2 = (10, 20, ['aa', 'bb', 'cc'], 50, 30)
print(tuple2[2]) # 访问到列表
# 结果:(10, 20, ['aaaaa', 'bb', 'cc'], 50, 30)
tuple2[2][0] = 'aaaaa'
print(tuple2)

十四、列表

列表的格式

python 复制代码
[数据1, 数据2, 数据3, 数据4......]

列表可以⼀次性存储多个数据,且可以为不同数据类型。

列表的常⽤操作

列表的作⽤是⼀次性存储多个数据,程序员可以对这些数据进⾏的操作有:增、删、改、查。

查找

下标:

python 复制代码
name_list = ['Tom', 'Lily', 'Rose']
print(name_list[0]) # Tom
print(name_list[1]) # Lily
print(name_list[2]) # Rose

函数:

index():返回指定数据所在位置的下标 。

python 复制代码
列表序列.index(数据, 开始位置下标, 结束位置下标) 
python 复制代码
name_list = ['Tom', 'Lily', 'Rose']
print(name_list.index('Lily', 0, 2)) # 1

注意:如果查找的数据不存在则报错。

count():统计指定数据在当前列表中出现的次数。

python 复制代码
name_list = ['Tom', 'Lily', 'Rose']
print(name_list.count('Lily')) # 1

len():访问列表⻓度,即列表中数据的个数。

python 复制代码
name_list = ['Tom', 'Lily', 'Rose']
print(len(name_list)) # 3

判断是否存在

in:判断指定数据在某个列表序列,如果在返回True,否则返回False

python 复制代码
name_list = ['Tom', 'Lily', 'Rose']
# 结果:True
print('Lily' in name_list)
# 结果:False
print('Lilys' in name_list)

not in:判断指定数据不在某个列表序列,如果不在返回True,否则返回False

python 复制代码
name_list = ['Tom', 'Lily', 'Rose']
# 结果:False
print('Lily' not in name_list)
# 结果:True
print('Lilys' not in name_list)

增加:

作⽤:增加指定数据到列表中。

append():列表结尾追加数据。

python 复制代码
列表序列.append(数据)
python 复制代码
name_list = ['Tom', 'Lily', 'Rose']
name_list.append('xiaoming')
# 结果:['Tom', 'Lily', 'Rose', 'xiaoming']
print(name_list)

列表追加数据的时候,直接在原列表⾥⾯追加了指定数据,即修改了原列表,故列表为可变类型数据。

注意点:如果append()追加的数据是⼀个序列,则追加整个序列到列表

python 复制代码
name_list = ['Tom', 'Lily', 'Rose']
name_list.append(['xiaoming', 'xiaohong'])
# 结果:['Tom', 'Lily', 'Rose', ['xiaoming', 'xiaohong']]
print(name_list)

extend():列表结尾追加数据,如果数据是⼀个序列,则将这个序列的数据逐⼀添加到列表。

python 复制代码
列表序列.extend(数据)
python 复制代码
name_list = ['Tom', 'Lily', 'Rose']
name_list.extend('xiaoming')
# 结果:['Tom', 'Lily', 'Rose', 'x', 'i', 'a', 'o', 'm', 'i', 'n', 'g']
print(name_list)
python 复制代码
name_list = ['Tom', 'Lily', 'Rose']
name_list.extend(['xiaoming', 'xiaohong'])
# 结果:['Tom', 'Lily', 'Rose', 'xiaoming', 'xiaohong']
print(name_list)

insert():指定位置新增数据。

列表序列.insert(位置下标, 数据)

python 复制代码
name_list = ['Tom', 'Lily', 'Rose']
name_list.insert(1, 'xiaoming')
# 结果:['Tom', 'xiaoming', 'Lily', 'Rose']
print(name_list)

删除:

python 复制代码
del ⽬标

删除列表

python 复制代码
name_list = ['Tom', 'Lily', 'Rose']
# 结果:报错提示:name 'name_list' is not defined
del name_list
print(name_list)

删除指定数据

python 复制代码
name_list = ['Tom', 'Lily', 'Rose']
del name_list[0]
# 结果:['Lily', 'Rose']
print(name_list)

pop():删除指定下标的数据(默认为最后⼀个),并返回该数据。

python 复制代码
列表序列.pop(下标)
python 复制代码
name_list = ['Tom', 'Lily', 'Rose']
del_name = name_list.pop(1)
# 结果:Lily
print(del_name)
# 结果:['Tom', 'Rose']
print(name_list)

remove():移除列表中某个数据的第⼀个匹配项。

python 复制代码
列表序列.remove(数据)
python 复制代码
name_list = ['Tom', 'Lily', 'Rose']
name_list.remove('Rose')
# 结果:['Tom', 'Lily']
print(name_list)

clear():清空列表

python 复制代码
name_list = ['Tom', 'Lily', 'Rose']
name_list.clear()
print(name_list) # 结果: []

修改

修改指定下标数据

python 复制代码
name_list = ['Tom', 'Lily', 'Rose']
name_list[0] = 'aaa'
# 结果:['aaa', 'Lily', 'Rose']
print(name_list)

逆置:reverse()

python 复制代码
num_list = [1, 5, 2, 3, 6, 8]
num_list.reverse()
# 结果:[8, 6, 3, 2, 5, 1]
print(num_list)

排序:sort()

python 复制代码
列表序列.sort( key=None, reverse=False)

注意:reverse表示排序规则,reverse = True 降序, reverse = False 升序(默认)

python 复制代码
num_list = [1, 5, 2, 3, 6, 8]
num_list.sort()
# 结果:[1, 2, 3, 5, 6, 8]
print(num_list)

复制

函数:copy()

python 复制代码
name_list = ['Tom', 'Lily', 'Rose']
name_li2 = name_list.copy()
# 结果:['Tom', 'Lily', 'Rose']
print(name_li2)

列表的循环遍历:

python 复制代码
name_list = ['Tom', 'Lily', 'Rose']
i = 0
while i < len(name_list):
 print(name_list[i])
 i += 1
python 复制代码
name_list = ['Tom', 'Lily', 'Rose']
for i in name_list:
 print(i)

列表嵌套

所谓列表嵌套指的就是⼀个列表⾥⾯包含了其他的⼦列表。

应⽤场景:要存储班级⼀、⼆、三这三个班级学⽣姓名,且每个班级的学⽣姓名在⼀个列表。

python 复制代码
name_list = [['⼩明', '⼩红', '⼩绿'], ['Tom', 'Lily', 'Rose'], ['张三', '李四','王五']]
python 复制代码
# 第⼀步:按下标查找到李四所在的列表
print(name_list[2])
# 第⼆步:从李四所在的列表⾥⾯,再按下标找到数据李四
print(name_list[2][1])
相关推荐
杨荧11 分钟前
【JAVA毕业设计】基于Vue和SpringBoot的服装商城系统学科竞赛管理系统
java·开发语言·vue.js·spring boot·spring cloud·java-ee·kafka
白子寰17 分钟前
【C++打怪之路Lv14】- “多态“篇
开发语言·c++
yannan2019031317 分钟前
【算法】(Python)动态规划
python·算法·动态规划
蒙娜丽宁27 分钟前
《Python OpenCV从菜鸟到高手》——零基础进阶,开启图像处理与计算机视觉的大门!
python·opencv·计算机视觉
光芒再现dev29 分钟前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
王俊山IT29 分钟前
C++学习笔记----10、模块、头文件及各种主题(一)---- 模块(5)
开发语言·c++·笔记·学习
为将者,自当识天晓地。31 分钟前
c++多线程
java·开发语言
小政爱学习!33 分钟前
封装axios、环境变量、api解耦、解决跨域、全局组件注入
开发语言·前端·javascript
好喜欢吃红柚子43 分钟前
万字长文解读空间、通道注意力机制机制和超详细代码逐行分析(SE,CBAM,SGE,CA,ECA,TA)
人工智能·pytorch·python·计算机视觉·cnn
小馒头学python1 小时前
机器学习是什么?AIGC又是什么?机器学习与AIGC未来科技的双引擎
人工智能·python·机器学习