[ 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,就是屁大点事可以咱聊上 ...
随机推荐
- 【题解】CF#833 B-The Bakery
一个非常明显的 \(nk\) dp 状态 \(f[i][k]\) 表示以 \(i\) 为第 \(k\) 段的最后一个元素时所能获得的最大代价.转移的时候枚举上一段的最后一个元素 \(j\)更新状态即可 ...
- [洛谷P1341]无序字母对
题目大意:给一张无向图,找一条字典序最小的欧拉路径 题解:若图不连通或有两个以上的奇数点,则没有欧拉路径,可以$dfs$,在回溯时把这个节点加入答案 卡点:没有在回溯时加入答案,导致出现了欧拉路径没走 ...
- LOJ6276:果树——题解
https://loj.ac/problem/6276#submit_code NiroBC 姐姐是个活泼的少女,她十分喜欢爬树,而她家门口正好有一棵果树,正好满足了她爬树的需求.这颗果树有N 个节点 ...
- 深入JavaScript对象创建的细节
最近深入学习javascript后,有个体会:面向对象的方式编程才是高效灵活的编程,也是现在唯一可以让代码更加健壮的编程方式.如果我们抛开那些玄乎的抽象出类等等思想,我自己对面向对象的从写程序的角度理 ...
- 8VC Venture Cup 2016 - Final Round (Div. 2 Edition) A
A. Orchestra time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
- Sightseeing(dijlstar) 计算最短路和次短路的条数
Sightseeing Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 10004 Accepted: 3523 Desc ...
- bzoj 4414 数量积 结论题
数量积 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 389 Solved: 147[Submit][Status][Discuss] Descri ...
- Moodle配置
Moodle配置 1. 内部设置 在 Moodle 站点管理员界面中有一系列的配置页面(可以从'设置' 块中访问 '网站管理'区).这里有一些重要的系统设置,你需要进行检查. 根据提示信息并结合实 ...
- Base class does not contain a constructor that takes '0' argument
刚刚在写一段直播室网站中的一段程序遇,突然遇到一个错误,如下 'TVLLKBLL.BaseClass' does not contain a constructor that takes 0 argu ...
- a标签nest问题,即a标签里面嵌套a标签
方法一:使用div模拟a,监听click事件 方法二:使用<object>标签包裹内部a标签 <div style="width: 200px;height: 200px; ...