Python内置的数据结构有:
列表(list)
元组(tuple)
字典(dict)
集合(set)
在Python语言中,以上4种数据结构和基础数据类型(整数、浮点数等)统称为“内置类型”(Built-in Types)。
一、什么是列表
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
(1)创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
定义列表
name = [‘Tom’,‘Jack’,‘John’]
pet = [‘cat’,‘dog’,‘bird’]

打印列表
print(name)
print(pet)

(2)用索引访问列表元素
使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:
通过索引读取列表中的元素,索引从0开始,-1代表最后一个元素

print(name[0]) #查看列表中第一个
print(pet[2]) #查看列表中第二个
print(name[-1]) #查看列表中最后一个
print(pet[-2]) #查看列表中倒数第二个
print (name[0:2]) #查看索引2之前的元素

二、基本操作
1、通过素引获取元素,进行修改

#修改列表的元素
name[1] = ‘Sean’ #修改name列表,索引1的内容为Sean
print(name) #打印列表

2、 向列表里面加元素
向python列表里面添加元素主要有三种方法:
(1)append()
append()对于列表的操作主要实现的是在特定的列表最后添加一个元素,并且只能一次添加一个元素,并且只能在列表最后;

name.append(元素A)

#在列表末尾添加新元素
name.append(‘Bob’)
print(name)

(2)extend()
extend()对于列表的操作主要实现的是对于特定列表的扩展和增长,可以一次添加多个元素,不过也只能添加在列表的最后;

name.extend([元素A,元素B,……])

name.extend([‘Xgp’,‘Wsd’])
print(name)

(3)insert()
insert()对于列表的操作主要是在列表的特定位置添加想要添加的特定元素,比较常用,这里的特定位置是指元素所在列表中的位置索引号,需要注意的是这里的索引号都是从0开始的,不是从1开始的,这个大家需要特别注意。

​ pet.insert(A,元素B):表示在列表m里面的第A+1处加入元素B
#在列表指定位置添加新元素
print(pet)
pet.insert(0,‘penguin’) #在列表最前面添加数据
print(pet)
pet.insert(-2,‘pig’) #在列表倒数第三个添加数据
print(pet)

**3、删减列表中的一些元素;
与之前python列表的添加元素相对,删减列表里面的一些也有三种方法:
(1) del pet[n]
它的作用是删除掉列表里面的索引号为n的元素,这里需要注意的是del是一种操作语句。
**
del m[n]
#根据索引从列表中删除元素
print(pet)
del pet [0] #删除开头的元素
print(pet)

(2)pet.pop()
它的作用是将列表m的最后一个元素返回,并且在此基础上进行删除掉

Temp=pet.pop()%这里temp就会直接等于吗列表里最后一个元素。
print(pet)%这里再次输出m的时候已经是删掉最后一个元素的m列表
pop():弹出列表末尾的元素

print(pet)
new_pet=pet.pop()
print(new_pet)

弹出指定位置的元素
#弹出指定位置的元素
print(pet)
pet.pop(2)
print(pet)

(3)pet.remove()
m.remove的作用是移除掉列表m里面的特定元素;

m.remove(元素A)

#根据元素的值进行删除:remove()
print(pet) #查看源列表
pet.remove(‘cat’) #删除cat
print(pet) #打印列表


三、排序
(1)永久排序(正索引,从头到尾)
sort()排序方法:此函数方法对列表内容进行正向排序,排序后的新列表会覆盖原列表(id不变),也就是sort排序方法是直接修改原列表list排序方法。
(2)临时排序(正索引,从头到尾)
sorted()方法:即可以保留原列表,又能得到已经排序好的列表
(3)倒序(从头到尾从尾到头)
reverse列表反转排序:是把原列表中的元素顺序从左至右的重新存放,而不会对列表中的参数进行排序整理。如果需要对列表中的参数进行整理,就需要用到列表的另一种排序方式sort正序排序。
(4)列表长度
len() 方法返回列表元素个数。
操作:

#定义列表:汽车的品牌
print(‘原始排序:’)
brand = [‘audi’,‘bmw’,‘toyota’,‘luhu’]
print(brand)

#临时排序
print(‘临时排序:’)
print(sorted(brand))

#永久排序: sort()
print(‘正序排序:’)
brand.sort()
print(brand)

#倒序排序
print(‘倒序排序:’)
brand.sort(reverse=True)
print(brand)

#获取列表长度
print(‘列表长度:’)
print(len(brand))

**四、小练习
列表练习(一)
·定义一个列表,存储5个科目名称
**
kemu = [‘语文’,‘数学’,‘英语’,‘地理’,‘生物’]
print(kemu)

新增科目(末尾新增)
kemu.append(‘化学’)
print(kemu)

修改科目
kemu[2] = ‘计算机’
print(kemu)

删除科目,并且在打印科目列表的时候,能够显示删除了哪个科目
print(kemu)
new_kemu=kemu.pop(3)
print(new_kemu)

删除第2个科目
kemu.pop(1)
print(kemu)

指定位置新增
kemu.insert(0,‘科学’)
print(kemu)

删除指定名称的科目
kemu.remove(‘生物’)
print(kemu)

列表练习(二)
将5个城市的名称存储到列表中,并且保证名称不是按照字母顺序排列的

city = [‘北京’,‘上海’,‘广州’,‘深圳’,‘山西’]
print(city)

打印出原始的城市列表信息
print(city)

使用sorted()方法按字母顺序打印城市列表,但是不要修改列表元素的顺序
print(sorted(city))

打印该列表,确认城市名称排列顺序没有被修改
print(city)

使用sort()方法排列城市名称,确保永久性修改排列顺序
city.sort()
print(city)

五、进阶操作

(一)遍历列表
1、for循环
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
语法:
for循环的语法格式如下:

for iterating_var in sequence:
statements(s)
(1)简单的for循环
#定义一个列表
names = [‘张三’,‘李四’,‘王五’,‘赵六’,‘田七’]
zhang_san = names[0]
li_si = names[1]
wang_wu = names[2]
print(zhang_san+" “+li_si+” "+wang_wu)

#for循环
for name in names:
print(name)

注意: name 这个变量是在 for 循环中定义的,意思是,依次取出 names中的每一个元素,并把元素赋值给 name,然后执行for循环体。
**(2)多重for循环
直角三角形
**
#打印直角三角形

#外层循环控制行数
#内层循环控制列数
#外层循环执行1次,内层循环执行1轮

for i in range(1,10):
for j in range(i):
print(j+1,end=’’)
print()

<2>九九乘法表

#打印九九乘法表
for i in range(1, 10):
for j in range(i):
print(str((j+1))+“x”+str(i)+"="+str(i*(j+1)),end=’ ')
print()

(二)创建数值类表

1、range() 的使用
range ( ) 为 Python 的自有类,range() 带有内置的迭代方法iter() 和 next() ,它是一个可迭代对象,我们可以通过 for 访问 range() 创建的迭代器。
range 类初始化参数说明:
range(stop) 从0开始到stop结束(不包含 stop)返回一个产生整数序列的迭代对象
range(start, stop[, step]) 从 start 开始到 stop 结束(不包含 stop)返回一个整数序列的迭代对象, step 为他的步长
(1) 循环输出1-10之间的数字

for num in range(11):
print(num,end=" “)

(2)输出1-10之间的偶数
for num in range(2,11,2):
print(num,end=” “)

(3) 输出1-10之间的奇数
for num in range(1,11,2):
print(num,end=” “)

(4)输出1-10之间的奇数的平方
for num in range(1,11,2):
print(num**2,end=” ")

(5)创建一个数字列表
numbers = list(range(1,11))
print(numbers)

2、数字列表的简单统计(计算)
Python包含以下函数:

序号 函数
1 cmp(list1, list2) 比较两个列表的元素
2 len(list) 列表元素个数
3 max(list) 返回列表元素最大值
4 min(list) 返回列表元素最小值
5 list(seq) 将元组转换为列表
#数字列表的最大值、最小值、总和
print(max(numbers)) #最大值
print(min(numbers)) #最小值
print(sum(numbers)) #总值

(三)Python列表切片
切片是Python序列的重要操作之一,适用于列表、元组、字符串、range对象等类型。切片使用2个冒号分隔的3个数字来完成:第一个数字表示切片的开始位置,默认为0,第二个数字表是切片的截止(但不包含)位置(默认为列表长度),第三个数字表示切片的步长(默认为1),当步长省略时,顺便可以省略最后一个冒号。
可以使用切片来截取列表中的任何部分,得到一个新列表,也可以通过切片来修改和删除列表中部分元素,甚至可以通过切片操作为列表对象增加元素。与使用下标访问列表元素不同,切片操作不会因为下标越界而抛出异常,而是简单地在列表尾部截断或者返回一个空列表,代码具有更强的健壮性。

切片

#创建一个列表
pets = [‘cat’,‘dog’,‘duck’,‘pig’]
print(pets)

**1、读取列表中2和3的元素**

pets[1:3]
print(pets[1:3])

2、读取列表中1到4的元素
pets[0:4]
print(pets[0:4])

3、读取列表中的第一个元素
pets[0]
print(pets[0])

4、读取列表中的最后一个元素
pest[-1]
print(pest[-1])

5、读取列表中,从第二个元素开始的所有元素
pets[1:]
print(pets[1:])

6、读取列表中,从第一个元素开始的所有元素
pets[0:]
print(pets[0:])

7、读取列表中,从倒数第三个元素开始的所有元素
pets[-3:]
print(pets[-3:])

8、循环输出列表中,从倒数第三个元素开始的所有元素
for pet in pets[-3:]:
print(pet,end=" ")

9.读取列表中,从第三个开始的所有数据,并组合一下数据
games = [‘王者’,‘吃ji’,‘抢滩登陆’]
#friend_games = [‘王者’,‘吃ji’]
friend_games = games[:2]
print(‘我喜欢的游戏有:’+str(games))
print(‘我朋友喜欢的游戏有:’+str(friend_games))

(四)元组
Python 的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
1、定义元组

numbers = (4,5,6) #定义元组
print(numbers[0]) #查看元组中第一个元素

2、循环输出numbers元组中的数据
for num in numbers:
print(num,end=" ")

3、修改元组
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,如下实例:

print(numbers)
numbers = (0,1,2)
print(numbers)

4、删除元组
print(numbers) #查看元组
del numbers #删除元组
print ("删除后的元组 numbers : ")
print(numbers) #因为删除了元组,所以看不到了,就会报错


元组运算符
与字符串一样,元组之间可以使用 + 号和 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。

Python 表达式 结果 描述
len((1, 2, 3)) 3 计算元素个数
(1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) 连接
(‘Hi!’,) * 4 (‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’) 复制
3 in (1, 2, 3) True 元素是否存在
for x in (1, 2, 3): print (x,) 1 2 3 迭代
元组索引,截取
因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素,如下所示:

元组:

L = (‘Google’, ‘Taobao’, ‘Runoob’)
Python 表达式 结果 描述
L[2] ‘Runoob’ 读取第三个元素
L[-2] ‘Taobao’ 反向读取,读取倒数第二个元素
L[1:] (‘Taobao’, ‘Runoob’) 截取元素,从第二个开始后的所有元素。

Python 列表,for循环,元组的使用【修改、添加、删除、排序、切片】w相关推荐

  1. 详细讲解用Python列表for循环还有if判断语句写出1-100之内的素数,思路清晰语法准确代码简单易懂实用

    详细讲解用Python列表for循环还有if判断语句写出1-100之内的素数,思路清晰语法准确代码简单易懂实用,当然还有一定技巧的算法渗透其中.请看视频: Python 代码实例,找出1-100之内的 ...

  2. mysql删除表编码字段_mysql 修改 添加 删除 表字段

    mysql 修改 添加 删除 表字段 添加表的字段 alter table 表名 add 字段名 字段的类型 例子: alter table table1 add transactor varchar ...

  3. python列表用法详解(查找、添加、删除、修改、复制、循环遍历、列表嵌套)

    1. 列表的格式 [数据1, 数据2, 数据3, 数据4......]         列表可以⼀次性存储多个数据,且可以为不同数据类型. 2. 列表的常⽤操作         列表的作⽤是⼀次性存储 ...

  4. python列表增加行_python怎么在数组添加一行?

    python中在数组添加一行的方法: python中可以使用stack()函数在数组中添加一行,使用stack()函数需要导入numpy库. 函数原型为:stack(arrays, axis=0),a ...

  5. Python基础语法毕业笔记-最简单的添加删除程序

    学了接近2天Python基础语法,感觉差不多了可以去看Python源码了,做一个基础语法毕业的小程序, 程序运行截图如下: 对应的文本文件如下: 程序结构如下: 源码如下: File.py from ...

  6. python中列表的声明,查询,修改,删除 del 和添加 append,insert

    #列表声明 List表: 作用:类似于其他语言的数组. 符号:列表[] 列表的下标标法 names=['jack','tom','lucy','superman'] brands= ['hp','de ...

  7. python列表转化为元组、集合_如何在Python中将元组列表更改为集合?

    我在Python中创建了一个函数,它返回抛出2个骰子的所有可能结果的列表. 元组列表:[(1,1),(1,2),-,(6,6)].在 然后我写了一个函数来找出两个值之和为偶数的所有元素(a),另一个函 ...

  8. python列表元素循环左移_JavaScript系列——数组元素左右移动N位算法实现

    引言 在自己刚刚毕业不久的时候,去了一家公司面试,面试官现场考了我这道题,我记忆深刻,当时没有想到思路,毫无疑问被面试官当成菜鸟了. 最近刚好在研究数组的各种算法实现,就想到这道题,可以拿来实现一下, ...

  9. python列表拆包_python元组拆包

    来源<利用python进行数据分析>P55-57 如果想要将元组类型的表达式赋值给变量,python会对等号右边的值进行拆包 tup = (4, 5, 6) a, b, c = tup # ...

  10. python列表for循环 加入新列表_关于python:使用for循环在列表中添加值

    本问题已经有最佳答案,请猛点这里访问. 我是Python的新手,我无法解决为什么这不起作用. number_string = input("Enter some numbers:" ...

最新文章

  1. 线程间通信的三种方法 (转)
  2. SNMP功能开发简介 五 使用MIB Builder创建MIB文件图文介绍
  3. Fluid 0.5 版本:开启数据集缓存在线弹性扩缩容之路
  4. ImportError: No module named 'pip._vendor.retrying'
  5. 内网无纸化会议/智慧教室实时同屏RTSP组播技术方案思考
  6. Raspbian 源替换
  7. 37 岁学编程,发现第一个 Bug,创造商业编程语言 | 人物志
  8. 面向对象程序设计的思想的长处
  9. c51步进电机程序汇编语言,51单片机驱动步进电机(汇编语言)
  10. HDU 6287 口算训练 (质因数分解)
  11. 【云原生】Helm 常用命令(chart 安装、升级、回滚、卸载等操作)
  12. 【钉钉】通过钉钉机器人抓取群消息
  13. 超简单配置Android持续集成自动化打包流程 - GitHub+GitLab-CI+蒲公英+钉钉
  14. 故事与她用计算机打,「故事」他用笔和相机为警察“代言”!(856)
  15. Android实践:做一个可视频交互的智能小车
  16. ftp上传 防火墙的设置
  17. 动漫APP软件开发源码私有部署
  18. 网页引入腾讯视频小记
  19. 快捷查话费,套餐的Android小应用--移动话费速查,新增联通版话费速查
  20. 系统安装:苹果电脑Windows完美分区法

热门文章

  1. 想知道电脑上怎么压缩图片?用这3个方法实现快速压缩
  2. 广州大学人工智能原理实验二:八数码问题
  3. html微信表情,emoji表情,QQ表情,微信表情转换
  4. python 技能系统
  5. Python基础之列表、元组、字典、集合
  6. Unicode与GB18030、GBK、GB2312
  7. 深度学习入门(二)训练并使用Keras模型
  8. delphi10.2 将网页页面带格式复制到word中。
  9. 音视频技术开发周刊 | 241
  10. sparkling-water的介绍与实践(command line)