[ Python ] 基本数据类型及属性(下篇)
1. 基本数据类型
(1) list 列表
(2) tuple 元组
(3) dict 字典
(4) set 集合
2. list 列表方法
Python 内置的一种数据类型,list是一种有序的集合,可以随时添加删除其中的元素。

( 1 ) append(self, p_object)
原列表后追加内容
list1 = ['a', 'b', 'c', 'd', 1, 2, 3]
list1.append('good')
print(list1) # 执行结果:
# ['a', 'b', 'c', 'd', 1, 2, 3, 'good']
(2)clear()
清空列表所有元素
list1 = ['a', 'b', 'c', 'd', 1, 2, 3]
list1.clear()
print(list1) # 执行结果:
# []
(3)copy()
列表拷贝(浅拷贝)
list1 = ['a', 'b', 'c', 'd', 1, 2, 3]
list2 = list1.copy()
print(list2) # 执行结果:
# ['a', 'b', 'c', 'd', 1, 2, 3]
(4)count(self, value)
计算 value 出现的次数
list1 = ['hkey', 'b', 'c', 'hkey', 1, 2, 3]
print(list1.count('hkey')) # 执行结果:
# 2
(5)extend(self,iterable)
将可迭代对象通过for循环添加到当前列表中。
iterable:可迭代对象,能用于 for 循环的数据都是可迭代对象
list1 = ['hkey', 'b', 'c', 'hkey', 1, 2, 3]
list2 = ['hello', 'world'] list1.extend(list2)
print(list1) # 执行结果:
# ['hkey', 'b', 'c', 'hkey', 1, 2, 3, 'hello', 'world']
extend 和 append 进行比较:
extend是通过 for 循环把可迭代对象,一个一个append添加到当前列表的
append是将元素一次性的全部追加到元素末尾
(6)index(self, value, start=None, stop=None)
获取元素的索引位置
list1 = ['hkey', 'b', 'c', 'hkey', 1, 2, 3]
print(list1.index('hkey'))
# 从左到右查找元素,第一个出现的位置
# 执行结果:
# 0
(7)insert(self, index, p_object)
通过索引插入元素到列表对应位置
list1 = ['a', 'b', 'c', 'd', 1, 2, 3] list1.insert(1, 'hello')
print(list1) # 执行结果:
# ['a', 'hello', 'b', 'c', 'd', 1, 2, 3]
(8)pop(self, index=None)
删除列表对应索引的元素
list1 = ['a', 'b', 'c', 'd', 1, 2, 3]
list1.pop(2)
print(list1) # 执行结果:
# ['a', 'b', 'd', 1, 2, 3]
(9)remove(self, value)
删除列表中对应的元素
list1 = ['a', 'b', 'c', 'd', 1, 2, 3]
list1.remove('c')
print(list1) # 执行结果:
# ['a', 'b', 'd', 1, 2, 3]
(10)reverse
反转列表元素
list1 = ['a', 'b', 'c', 'd', 1, 2, 3]
list1.reverse()
print(list1) # 执行结果:
# [3, 2, 1, 'd', 'c', 'b', 'a']
(11)sort(self, key=None, reverse=False)
列表中全部为数字或者字符串的时候,进行排序
list1 = [1, 3, 2]
list2 = ['d', 'z', 'a']
list1.sort()
list2.sort()
print('list1:', list1)
print('list2:', list2) # 执行结果:
# list1: [1, 2, 3]
# list2: ['a', 'd', 'z']
3. tuple(元组)
元组也是有序序列,但是tuple一旦初始化就不能修改。
元组示例:(1, 2, 3, 'a', 'b', 'c'),元组只有 2 个方法

(1)count
计算 value 出现的次数
list1 = ('a', 'b', 'c', 'd', 1, 2, 3, 'd')
list2 = list1.count('d')
print(list2)
# 执行结果:
# 2
(2)index
获取元素的索引位置
list1 = ('a', 'b', 'c', 'd', 1, 2, 3, 'd')
print(list1.index('c'))
# 执行结果:
# 2
4. dict 字典
Python 内置字典类型,使用 键 - 值(key-value)存储,具有极快的查找速度。

(1)clear()
清空所有字典数据
dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
dict1.clear()
print(dict1)
# 执行结果:
# {}
(2)copy()
拷贝字典所有数据
dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
dict2 = dict1.copy()
print(dict2)
# 执行结果:
# {'age': 20, 'gender': '男', 'name': 'hkey'}
(3)fromkeys(*args,**kwargs)
args作为key依次循环,kwargs作为每个key的值
fromkeys 是 dict 类的静态方法,调用:dict.fromkeys
dict2 = dict.fromkeys(['a', 'b', 'c'], ['hello', 'world'])
print(dict2) # 执行结果:
# {'a': ['hello', 'world'], 'c': ['hello', 'world'], 'b': ['hello', 'world']}
(4)get(self, k, d=None)
通过 key 获取字典中对应的 value
dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
print(dict1.get('age'))
# 如果 get 没有找到对应的 key 则返回 None
# 执行结果:
# 20
(5)items
分别获取字典的 key 和 value
dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
for k, v in dict1.items():
print(k, v)
# 执行结果:
# age 20
# gender 男
# name hkey
(6)keys
获取字典中所有的 key
dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
for k in dict1.keys():
print(k)
# 执行结果:
# gender
# age
# name
(7)values
获取字典中所有的 value
dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
for v in dict1.values():
print(v)
# 执行结果:
# 20
# 男
# hkey
(8)pop(self, k, d=None)
删除 key 对应的 键值对
dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
dict1.pop('name')
print(dict1)
# 执行结果:
# {'age': 20, 'gender': '男'}
(9)popitem
随机删除字典中的键值对
通过变量可以获取被删除的键值对
dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
dict2 = dict1.popitem()
print('随机删除后的dict1', dict1)
print('获取随机删除的键值对:', dict2)
# 执行结果:
# 随机删除后的dict1 {'gender': '男', 'name': 'hkey'}
# 获取随机删除的键值对:('age',20)
(10)setdefault(self, k, d=None)
已存在,不设置,获取当前key对应的值
不存在,设置,获取当前key对应的值
dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
d1 = dict1.setdefault('name1', 'xiaofei')
print(d1)
# 执行结果:
# xiaofei
(11)update(self ,E=None, **F)
修改字典中对应的键值对
dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
dict1.update({'name': 'xiaofei'})
dict1.update(age=19)
print(dict1)
# 执行结果:
# {'gender': '男', 'age': 19, 'name': 'xiaofei'}
总结:
字典有以下几个特点:
(1)字典的 value 可以是任何值
(2)布尔值(1, 0)、列表、字典不能作为字典的key
(3)字典是无序的
(4)字典支持 del 删除
[ Python ] 基本数据类型及属性(下篇)的更多相关文章
- [ Python ] 基本数据类型及属性(上篇)
1. 基本数据类型 (1) 数字 - int (2) 字符串 - str (3) 布尔值 - bool 2. int 类型中重要的方法 (1) int 将字符串转 ...
- Python基础数据类型-列表(list)和元组(tuple)和集合(set)
Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...
- Python基本数据类型之字符串、数字、布尔
一.数据类型种类 Python中基本数据类型主要有以下几类: Number(数字) String(字符串) Bool (布尔) List(列表) Tuple(元组) Sets(集合) Diction ...
- Python之路番外:PYTHON基本数据类型和小知识点
Python之路番外:PYTHON基本数据类型和小知识点 一.基础小知识点 1.如果一行代码过长,可以用续行符 \换行书写 例子 if (signal == "red") and ...
- [python学习手册-笔记]002.python核心数据类型
python核心数据类型 ❝ 本系列文章是我个人学习<python学习手册(第五版)>的学习笔记,其中大部分内容为该书的总结和个人理解,小部分内容为相关知识点的扩展. 非商业用途转载请注明 ...
- 跟我学Python图像处理丨获取图像属性、兴趣ROI区域及通道处理
摘要:本篇文章主要讲解Python调用OpenCV获取图像属性,截取感兴趣ROI区域,处理图像通道. 本文分享自华为云社区<[Python图像处理] 三.获取图像属性.兴趣ROI区域及通道处理 ...
- python 基本数据类型分析
在python中,一切都是对象!对象由类创建而来,对象所拥有的功能都来自于类.在本节中,我们了解一下python基本数据类型对象具有哪些功能,我们平常是怎么使用的. 对于python,一切事物都是对象 ...
- python常用数据类型内置方法介绍
熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 下面介绍了python常用的集中数据类型及其方法,点开源代码,其中对主要方法都进行了中文注释. 一.整型 a = 100 a.xx ...
- 闲聊之Python的数据类型 - 零基础入门学习Python005
闲聊之Python的数据类型 让编程改变世界 Change the world by program Python的数据类型 闲聊之Python的数据类型所谓闲聊,goosip,就是屁大点事可以咱聊上 ...
随机推荐
- Android Service 生命周期
Service概念及用途: Android中的服务,它与Activity不同,它是不能与用户交互的,不能自己启动的,运行在后台的程序,如果我们退出应用时,Service进程并没有结束,它仍然在后台运行 ...
- 洛谷 P2272 [ZJOI2007]最大半连通子图 解题报告
P2272 [ZJOI2007]最大半连通子图 题目描述 一个有向图\(G=(V,E)\)称为半连通的\((Semi-Connected)\),如果满足:\(\forall u,v \in V\),满 ...
- mysql 读写分离实现资料
以下很多链接需要 FQ才能看到,稍后会整理翻译成中文! Easy Read/Write Splitting with PHP’s MySQLnd https://blog.engineyard.com ...
- linux 使用vim文件加密/解密的方法
一. 利用 vim/vi 加密:优点:加密后,如果不知道密码,就看不到明文,包括root用户也看不了:缺点:很明显让别人知道加密了,容易让别人把加密的文件破坏掉,包括内容破坏和删除: vi编辑器相信大 ...
- cgroups 命令集
cgroups 命令集 最后介绍,功能最为强大的控制组(cgroups)的用法.cgroups 是 Linux 内核提供的一种机制,利用它可以指定一组进程的资源分配. 具体来说,使用 cgroups, ...
- angularJS新增 品优购新增品牌
前台代码 brand.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"&g ...
- Linux用户、用户组权限管理详解 --- 02
2,用户.用户组管理操作详解: 2.1 adduser 添加用户: adduser [-u uid][-g group][-d home][-s shell] -u:直接给出userID ...
- node.js 与java 的主要的区别是什么
node.js 与java都是服务器语言,但是两者存在很大区别:(1)Node.js比Java更快 :node.js开发快,运行的效率也算比较高,但是如果项目大了就容易乱,而且javascript不是 ...
- selenium测试-open chrome
通过selenium来打开浏览器测试之前,需要确认本地已安装相应的webdriver,本例以chrome为例. 1. 查看本地chrome版本,以此确认需要安装的webdriver版本 查看chrom ...
- 快速排序Quick sort
快速排序Quick sort 原理,通过一趟扫描将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归 ...