Python学习-列表元组字典操作
一、列表
列表是Python的基本数据类型之一,它是以 [] 括起来的,内部成员用逗号隔开。里面可以存放各种数据类型。
# 例如:
list2 = ['jason', 2, (1, 3), ['warrior', 'hello'], 'world']
1、列表的索引和切片
names = ['库里', '杜兰特', '考辛斯', '汤普申', '格林', '麦基'] # 索引
print(names[2]) # 考辛斯
print(names[-1]) # 麦基 # 切片
print(names[1:3]) # ['杜兰特', '考辛斯']
print(names[-3:]) # ['汤普申', '格林', '麦基']
print(names[1:5:2]) # ['杜兰特', '汤普申']
2、列表的增删改查
2.1 新增 append, extent, insert
names = ['汤普申', '格林', '麦基']
# 增加
names.append('麦考') # ['汤普申', '格林', '麦基', '麦考']
names.extend('麦考') # ['汤普申', '格林', '麦基', '麦', '考']
names.extend(['利文', '伊戈']) # ['汤普申', '格林', '麦基', '利文', '伊戈']
names.extend('james') # ['汤普申', '格林', '麦基', 'j', 'a', 'm', 'e', 's']
names.insert(1, '海沃德') # ['汤普申', '海沃德', '格林', '麦基']
'''
append: 把元素追加到列表末尾
extend: 一次性追加多个元素,参数必须是可迭代的,迭代方式增加
insert: 在给定的索引位置前插入元素,原索引处元素后移
'''
2.2 删除 pop, remove, del, clear
names = ['汤普申', '格林', '麦基'] # 删除
names.pop() # ['汤普申', '格林']
names.pop(1) # ['汤普申', '麦基']
names.remove('麦基') # ['汤普申', '格林']
del names[1] # ['汤普申', '麦基']
'''
pop() 默认移除最后一个,有返回值; 可以指定索引,删除指定索引处的值
remove() 只有一个参数
'''
clear() 方法,用于清空整个列表。
2.3 修改
names = ['库里', '杜兰特', '考辛斯', '汤普申', '格林', '麦基'] # 修改
names[2] = '戴维斯' # ['库里', '杜兰特', '戴维斯', '汤普申', '格林', '麦基']
names[0:2] = '西布' # ['西', '布', '考辛斯', '汤普申', '格林', '麦基']
names[0:2] = '东欧文' # ['东', '欧', '文', '考辛斯', '汤普申', '格林', '麦基']
2.4 遍历查询
names = ['汤普申', '格林', '麦基'] # 遍历
for element in names:
print(element)
运行结果:
汤普申
格林
麦基
2.5 其他操作
names = [3, 1, 5, 2]
r = names.count('格林') # 某元素出现的次数 有返回结果
r = names.sort() # 元素排序,默认升序 没有返回结果
names.sort() # 排序,默认升序
names.sort(reverse=True) # 可以指定参数reverse的值,True or False,为True时,降序
names.reverse() # 反向排序
二、元组
元组和列表类似,可以理解为不可变的列表或制度列表。所有元素用括号括起来,内部元素可以是任意类型。可以进行查询、循环、索引、切片等操作,但就是不能修改。
常用的方法与列表类似,不再赘述。
三、字典
字典是Python中的另一种可变容器类型, 可以存储任意类型对象。
字典的每个键值对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号中。字典的一般格式如下:
>>> d = {'a': 1, 'b': 2}
>>> d
{'a': 1, 'b': 2}
>>> d1 = {'a': 1, 'b': 2, 'b':3}
>>> d1
{'a': 1, 'b': 3}
>>>
注:1) 字典中键是唯一的,如果存在重复的键,前面的键值会被后面相同键名所对应的值覆盖。
2) 字典中的键是不可变的,可以是整形、字符串或元组;键所对应的值可以重复。
1. 字典的创建
>>> d = {'name': 'jason'}
>>> d['age'] = 25 #直接给新增的key赋值,如果key在字典中不存在,新增此key:value对;如果key在字典中已存在,会覆盖该key对应的value。
>>> d
{'name': 'jason', 'age': 25}
>>> d.setdefault('sex') #setdefault方法在操作时分两步:1、查询这个key(第一个参数)在字典中是否存在,存在则不进行任何操作;不存在则新增到字典中 2、返回该key所对应的value
>>> d
{'name': 'jason', 'age': 25, 'sex': None}
>>> d.setdefault('age', 26)
25
>>> d
{'name': 'jason', 'age': 25, 'sex': None}
>>> d.setdefault('address', 'JL')
'JL'
>>> d
{'name': 'jason', 'age': 25, 'sex': None, 'address': 'JL'}
>>>
2. 字典的删除
pop(key) ; del dic[key]
>>> d
{'name': 'jason', 'age': 25, 'address': 'JL'}
>>> d.pop('address') # 参数不能为空
'JL'
>>> d
{'name': 'jason', 'age': 25}
>>> del d['age']
>>> d
{'name': 'jason'}
3. 字典的修改
>>> d
{'name': 'jason'}
>>> d['age'] = 26
>>> d
{'name': 'jason', 'age': 26}
>>> d['name'] = 'jack'
>>> d
{'name': 'jack', 'age': 26}
>>> d1 = {'name': 'james', 'sex': 'male'}
>>> d.update(d1) # 用d1更新d中的内容,如果key已存在,则覆盖修改,如果key不存在,则新增
>>> d
{'name': 'james', 'age': 26, 'sex': 'male'}
>>>
4. 字典的查询
>>> d
{'name': 'james', 'age': 26, 'sex': 'male'}
>>> d['name'] #指定key,直接查询
'james'
>>> d['addr'] #key不存在,使用此方法程序会报错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'addr'
>>> d.get('age') #使用get方法
26
>>> d.get('addr') #查询的key不存在,没有返回值
>>> d.get('addr', 'JL') #查询的key不存在,可以指定默认值(第二个参数)返回
'JL'
>>>
5. 字典的其他操作
>>> d
{'name': 'james', 'age': 26, 'sex': 'male'}
>>> r = d.keys() #返回的值与列表很像,但不是列表,也是可迭代的对象;实际使用时,我们把它当成列表来使用就可以
>>> r
dict_keys(['name', 'age', 'sex'])
>>> type(r)
<class 'dict_keys'>
>>> for i in d.keys():
... print(i)
...
name
age
sex
>>> for i in d.values():
... print(i)
...
james
26
male
>>> for k, v in d.items():
... print(k, v)
...
name james
age 26
sex male
字典的内置函数:摘自菜鸟教程
字典的内置方法:
以上就是Python中列表、元组、字典的一些常用操作及方法。
Python学习-列表元组字典操作的更多相关文章
- Python学习---列表/元组/字典/字符串/set集合/深浅拷贝1207【all】
1.列表 2.元组 3.字典 4.字符串 5.set集合 6.深浅拷贝
- **python中列表 元组 字典 集合
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...
- python中列表 元组 字典 集合的区别
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...
- python字符串 列表 元组 字典相关操作函数总结
1.字符串操作函数 find 在字符串中查找子串,找到首次出现的位置,返回下标,找不到返回-1 rfind 从右边查找 join 连接字符串数组 replace 用指定内容替换指定内容,可以指定次数 ...
- 【Python学习笔记】字典操作
字典dict是Python中唯一内置的映射类型,由键值对组成,字典是无序的.字典的键必须是不变对象,如字符串.数字.元组等,而包含可变对象的列表.字典和元组则不能作为键.这里可变和不可变的意思是指这个 ...
- Python之列表&元组&字典
今天学习了Python的基本数据类型,做以下笔记,以备查用. 一.列表 列表的常用方法: 1.append()方法 def append(self, p_object): # real signatu ...
- python字符串/列表/元组/字典之间的相互转换(5)
一.字符串str与列表list 1.字符串转列表 字符串转为列表list,可以使用str.split()方法,split方法是在字符串中对指定字符进行切片,并返回一个列表,示例代码如下: # !usr ...
- python 中列表 元组 字典 集合的区别
先看图片解释 (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计过去一周我们买过的东西,把这些东西列出来,就是清单.由于我们买一种东西可能不止一次,所以清单中是允许有重复 ...
- python字符串列表元组序列操作
Table of Contents generated with DocToc python系列-字符串.列表.元组的操作 序列的访问及运算符 序列通用操作 访问单个元素 切片访问一部分元素 序列的复 ...
随机推荐
- Mybatis延迟加载的实现以及使用场景
首先我们先思考一个问题,假设:在一对多中,我们有一个用户,他有100个账户. 问题1:在查询用户的时候,要不要把关联的账户查出来? 问题2:在查询账户的时候,要不要把关联的用户查出来? 解答:在查询用 ...
- Scrum 工件: 速度图和燃尽图
速度图 Velocity用于衡量scrum团队持续提供业务价值的速度,可以采用历史估算的方法,衡量一个又一个sprint的速度.团队通过跟踪完成达到自己团队完成标准的故事点的数量,就可以基于相对点值对 ...
- Linux系统下LNMP架构搭建
一.防火墙状态: 1.查看防火墙状态: systemctl status firewalld service iptables status firewall-cmd --state 2.永久有效开启 ...
- 各IDE代码自用开头模板
Pycharm #!/usr/bin/env python # -*- coding: utf-8 -*- # @version : 1.0 # @Time : ${DATE} ${TIME} # @ ...
- 超越Storm,SparkStreaming——Flink如何实现有状态的计算
流式计算分为无状态和有状态两种情况.无状态计算观察每个独立的事件,Storm就是无状态的计算框架,每一条消息来了以后和前后都没有关系,一条是一条.比如我们接收电力系统传感器的数据,当电压超过240v就 ...
- java设计模式4.适配器模式、装饰器模式
适配器模式 把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够工作. 1. 类的适配器模式 目标角色:期望的接口,对于类的适配器模式,此角色不可以是具体类 ...
- lightoj 1105 - Fi Binary Number(dp+思维(斐波那契))
题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1105 题解:这题你会巧妙的发现 1-(1),2-(10),3-(100),5- ...
- hdu6376 度度熊剪纸条 思维
度度熊剪纸条 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Subm ...
- @override 重写 与重载
方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现.重写(Overriding)是父类与子类之间多态性的一种表现,而重载(Overloading)是一个类中多 ...
- 什么是Werkzeug
上一节介绍了什么是WSGI,这一节我们看看Werkzeug 按照官方的说法,Werkzeug(源自德语,工具的意思)是一个WSGI工具库,它开始于一个适用于WSGI的多样化的工具集,后来发展成了现在非 ...