首页 > 编程语言 >Python语法(3)

Python语法(3)

时间:2023-09-20 19:56:43浏览次数:52  
标签:输出 初始化 Python 列表 语法 range print append

Python语法(3)

今天我们来学习列表
列表是一种常见的变量类型,可以存储一列元素,在python中元素的类型可以是不同的,不过大多数情况下应该都是相同的。

列表的初始化

1.直接初始化

a = []#定义一个空列表
b = [1,2]#定义一个含有两个整数的列表
c = [1,"python",1.23] #定义一个含有多个类型元素的列表
print(a,b,c)

2.通过函数append来进行初始化

a = []
for i in range(5):
	a.append(0)#初始化5个0
print(a)

n = 4
print(n)

b =[]
for i in range(n):
	b.append(i*i)
print(b)

3.通过for循环语句初始化列表长度和每个位置上的数值

a =[0 for i in range(5)]#[0,0,0,0,0]
print(a)
#这里是一个简写,当然也可以写成for循环之前那种形式
'''
for i in range(5):
	a.append(i)
print(a)
'''
n = 4
b = [i*i for i in range(n)]
print(b)

**注意Python中for循环输入和C语言不太一样,例如下面的书写方式就是错误的

#这就是错误的书写方式
a = []
for i in range(5):
	a[i]=i

访问列表元素

Python中访问列表元素有两种,既可以是负数,也可以是正数,他们的指代方式是不同的,注意数组的下标除非刻意不然正数都是从0开始的,这里我们用一张图可以较为直观的看到。

这张图可以较为清楚且直观的理解
接下来是例子

a = [0,1,2]
print(a[0],a[1],a[2])#输出为0 1 2
a[0]=3#更改某一位置上的值
print(a)#直接输出这个列表
print(a[-1])#输出最后一个元素  -1%3=2所以表示的是a[2]

使用循环语句遍历列表

1.可以利用下标访问

a = [1,2,3,4,5,6]
for i in  range(5):
	print(a[i],end=" ")

2.可以直接写在for循环里面

a = [1,2,3,4,5,6]
for i in a:
	print(i,end=" ")

列表的切片操作

列表的切片操作会返回一个新的列表。用法:a[begin:end]是一个左闭右开的区间,当然其中的是可以省略不写的。

a = [1,2,3,4,5,6]
print(a[1:4])
print(a[1:])#默认输出道列表最后
print(a[:4])#默认从开头输出
print(a[:])#默认输出全部
print(a[-4:-1])

切片也支持读写操作,可以一次改变多个值

a = [1,2,3,4,5,6]
a[1:4]=[2,3]
print(a)#输出[1,2,3,5,6]

列表的复制

列表和其他变量不同,如果用等号作为复制方式,那么原列表和新列表是同一个列表,新列表修改了,原列表也跟着会变。

a = [1,2,3]
b = a
b[1]=4
print(a)#输出[1,4,3]

因此我们可以做一个浅拷贝,此时再修改新列表,原列表不会改变。

a = [1,2,3]
b =a[:]
b[1]=4
print(a)#输出[1,2,3]

列表的运算

1.列表的加运算可以将两个列表拼接起来,得到一个新列表

a = [1,2,3]
b = [4,5,6]
print(a+b)
#输出[1,2,3,4,5,6]

2.列表的乘运算:
可以自身乘一个整数,可以将整数个自身拼接起来,得到一个新的列表

a = [1,2,3]
b = a*3
print(b)

列表的常用操作

a = [1,2,3]
#这里我并没有按照规则书写,只是列举一下
len(a)返回列表长度
a.append(x)在列表的末尾插入元素x
a.pop()删除最后一个元素,如果括号有参数,删除以参数作为下标的元素
a.reverse()将整个列表翻转
a.sort()将整个列表按照从小到大排序

大家可以试一试上述函数有么有返回值!!

嵌套列表

列表是一种元素,所以列表中的元素也可以是列表,这就跟C语言中二维数组很相似

a = [[1,2,3],[4,5,6],[7,8,9]]
print(a[1][0])#输出方式
a[1][0]=23#更改某一位置上的值
for i in range(len(a)):
	for j in range(len(a[i])):
		print(a[i][j],end=" ")
	print()
#两种输出方式上面是一种,下面也是一种
for i in a:
	for j in a[i]:
		print(j,end=" ")
	print()

嵌套列表的常用的初始化方式有两种:
1.用append()函数初始化

a = []

for i in range(3):
    row = []
    for j in range(3):
        row.append(i * 3 + j)
    a.append(row)

print(a)

2.采用for循环直接初始化

a = [[i * 3 + j for j in range(3)] for i in range(3)]
print(a)

如果大家是初学者的话,建议大家不要使用简写方式,容易出现错误,等以后熟练掌握了再使用简写方式也不迟!!!

额外补充

1.当读入一行整数时候,可以使用

a =list(map(int,input().split()))

使用这个语句就可以读入一行整数,同理,浮点数只需要将int改成float
2.min函数和max函数
这里min函数和max函数可以一次性比较多个值

a = 1
b = 3
c = 6
print(max(a,b,c))

3.特殊用法

a[::-1]可以返回一个逆序的新列表
a = [1,2,3]
print(a[::-1])

标签:输出,初始化,Python,列表,语法,range,print,append
From: https://www.cnblogs.com/du463/p/17718231.html

相关文章

  • nuitka 打包编译python3 脚本
    pipinstallordered-set#加速编译pipinstallnuitkapipinstallzstandard#onefile时压缩文件#打包命令python-mnuitka--mingw64--standalone--output-dir=out--show-progress--onefile--windows-disable-console--windows-icon-from-ico=1.ico--output-di......
  • 《流畅的Python》示例5-17 提取函数的签名
    理解param.kind含义:给形参传递参数的方式,是位置传递,还是关键字传递  1defclip(text,max_len=80):2end=None3iflen(text)>max_len:4space_before=text.rfind("",0,max_len)5ifspace_before>=0:6end......
  • python脚本的力量
    来自:[强网杯2019]高明的黑客额,开门见山这么抽象吗?那就直接www.tar.gz下载吧。一下载,人傻了,40M,WEB题文件都这么大,我还以为遇到misc电子取证了,哈人。打开更是重量级,3000多个内容,一个个看这得看到猴年马月。果断想到py脚本来做,但是哥们的py编写能力太烂了,直接贴一个别人的脚......
  • MarkupSafe:Python的字符转义库
    MarkupSafe转义字符,因此在HTML和XML中使用文本是安全的。具有特殊含义的字符将被替换,使其显示为实际字符。这减轻了注入攻击,意味着不受信任的用户输入可以安全地显示在页面上。escape()函数转义文本并返回一个Markup对象。该对象将不再被转义,但与它一起使用的任何文本都将被转义,......
  • Python基础分享之面向对象的进一步拓展
    我们熟悉了对象和类的基本概念。我们将进一步拓展,以便能实际运用对象和类。调用类的其它信息上一讲中提到,在定义方法时,必须有self这一参数。这个参数表示某个对象。对象拥有类的所有性质,那么我们可以通过self,调用类属性。classHuman(object):laugh='hahahaha'defsho......
  • 《Python深度学习》高清高质量PDF电子书+源码
    Keras之父,TensorFlow机器学习框架贡献者详尽介绍了用Python和Keras进行深度学习的探索实践,包括计算机视觉、自然语言处理、产生式模型等应用。书中包含30多个代码示例,步骤讲解详细透彻。由于本书立足于人工智能的可达性和大众化,读者无须具备机器学习相关背景知识即可展开阅读。在学......
  • 反编译python程序
    1. 工具1. pyinstxtractor.py  2. uncompyle6 :pipinstalluncompyle62.安装pyinstallerpipinstallpyinstaller3. exe解pycpythonpyinstxtractor.pyxxx.exe4. pyc转pypython3.9版本以下: uncompyle6-oxxx.pyxxx.pycpytho......
  • python入门基础(14)--类的属性、成员方法、静态方法以及继承、重载
    上一篇提到过类的属性,但没有详细介绍,本篇详细介绍一下类的属性一、类的属性方法是用来操作数据的,而属性则是建模必不的内容,而且操作的数据,大多数是属性,比如游戏中的某个boss类,它的生命值就是属性(不同级别的boss,有不同的生命值),被攻击方法(不同的攻击,伤害值不同),当boss被攻击......
  • Python用于解析和修改文本数据-pyparsing模块教程
    Python库解析地址PyParsing人们普遍认为,Python编程语言的pyparsing模块是对文本数据进行操作的一个宝贵工具。用于解析和修改文本数据的pyparsing包,简化了对地址的操作。这是因为该模块可以转换和帮助解析地址。在这篇文章中,我们将讨论PyParsing模块在处理解析以及修改时的......
  • Python中最长的递增序列
    如何使用Python中的N平方法和二进制搜索法计算一个数组中最长的递增子序列。使用N平方法计算最长的递增子序列在Python社区中,有一个著名的问题是关于最长递增子序列的,在不同的面试中也会被问到。这是一个Leetcode,问题说:给定一个未排序的整数数组,找出该数组的最长递增子序列或子......