Python之数据结构:列表、元组、字典、set
列表
列表里可以存储任意的数据类型、可修改的结构,用[ ]括起来表示或用函数list()构建。
eg: y = [1,1.5,'hello',True]
列表还可以嵌套列表
eg: y = [1,1.5,'hello',True,["wo","heng","shuai"]]
访问元素:索引从0开始
y = [1,1.5,'hello',True,["wo","heng","shuai"]]
y[1]
1.5
y[4][1]
'heng'
y[1:3]#前闭后开
[1.5, 'hello']
y[::2]#第二个冒号后表示步长
[1, 'hello', ['wo', 'heng', 'shuai']] 表的修改、添加和删除
a=[1,1,3,45,6]
b=[5,6,7]
a[3]=4
添加
a.append(8)#在表的末尾添加
a
[1, 1, 3, 4, 6, 8, 8]
a.extend(b)#添加列表时可拆分添加
a
[1, 1, 3, 4, 6, 8, 8, 5, 6, 7]
a.insert(7,"y")#指定添加元素的位置
a
[1, 1, 3, 4, 6, 8, 8, 'y', 5, 6, 7]
删除
a.remove("y")#删除第一个指定值
a
[1, 1, 3, 4, 6, 8, 8, 5, 6, 7]
del a[1]#基于位置删除
a
[1, 3, 4, 6, 8, 8, 5, 6, 7]
a.pop(1)#基于位置弹出并显示删除值
a
[1, 4, 6, 8, 8, 5, 6, 7]
排序:x.sort()修改原数据,sorted(x)不修改原结构
a.sort()
a
1, 5, 6, 6, 7, 8, 8]
c=(2,3,1,4,6)
sorted(c)
[1, 2, 3, 4, 6]
c
(2, 3, 1, 4, 6) 反转
a.reverse()
a
[8, 8, 7, 6, 6, 5, 1]
a[::-1]
[1, 5, 6, 6, 7, 8, 8] 元组
元组的用法和列表几乎一致,最大的区别是元组不可更改。
元组用tuple或者()表示
字典
scores = {'语文': 109, '数学': 110, '英语': 123}
dict1=dict(身高=179,体重=120,年龄=22)#字符串不需用引号
dict1["身高"]
179
但常用get()方法获取,因为用此方法当访问的key不存在时不会报错
dict1.get("身高")
179
•键值对的添加删除
添加
dict1["学历"]="本科"
dict1
{'身高': 179, '体重': 120, '年龄': 22, '学历': '本科'}
删除
del dict1["学历"]
dict1
{'身高': 179, '体重': 120, '年龄': 22}
dict1.pop("年龄")
dict1
{'身高': 179, '体重': 120}
修改
dict1["身高"]=180
dict1
{'身高': 180, '体重': 120}
•字典常用的方法
dir(dict)['__class__','__contains__','__delattr__','__delitem__','__dir__','__doc__','__eq__','__format__','__ge__','__getattribute__','__getitem__','__gt__','__hash__','__init__','__init_subclass__','__iter__','__le__','__len__','__lt__','__ne__','__new__', '__reduce__','__reduce_ex__','__repr__','__setattr__','__setitem__','__sizeof__','__str__','__subclasshook__','clear','copy','fromkeys','get','items','keys','pop','popitem','setdefault','update','values']
clear() 用于清空字典中所有的 key-value 对
get() 方法其实就是根据 key 来获取 value
tems()、keys()、values()
items()、keys()、values() 分别用于获取字典中的所有 key-value 对、所有 key、所有 value。
for k,v in dict1.items():
print(k)
print(v)
身高
185
体重
120
for k in dict1.keys():
print(k)
身高
体重
for v in dict1.values():
print(v)
185
120
update() 方法可使用一个字典所包含的 key-value 对来更新己有的字典。在执行 update() 方法时,如果被更新的字典中己包含对应的 key-value 对,那么原 value 会被覆盖
dict1.update(身高=185)
dict1
{'身高': 185, '体重': 120}
set
set的元素是唯一且无序的(可认为是KEY的集合),所以可以用来去重,如list(set(list)),因为set 内容元素是可哈希的,所以对set内容只能增删,不能直接修改。
a=set([2,1,2,3,5,4,3,4,5])
a
b=set([1,2,6,7,8])
b
{1, 2, 3, 4, 5}
{1, 2, 6, 7, 8}
但因为setde 特性,set可以求差集、并集、反交集、子集和超集等
a|b#并
{1, 2, 3, 4, 5, 6, 7, 8}
a&b#交
{1, 2}
Python之数据结构:列表、元组、字典、set的更多相关文章
- Python初学笔记列表&元组&字典
一.从键盘获取 1 print("请输入") 2 username = input("姓名:") 3 age = input("年龄:") ...
- Python第三天 序列 数据类型 数值 字符串 列表 元组 字典
Python第三天 序列 数据类型 数值 字符串 列表 元组 字典 数据类型数值字符串列表元组字典 序列序列:字符串.列表.元组序列的两个主要特点是索引操作符和切片操作符- 索引操作符让我 ...
- Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式
Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式 目录 Pycharm使用技巧(转载) Python第一天 安装 shell ...
- python中列表 元组 字典 集合的区别
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...
- **python中列表 元组 字典 集合
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...
- python3笔记十八:python列表元组字典集合文件操作
一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle #数据持久性模块 #封装的方法def OptionData(data,path): # ...
- 2.9高级变量类型操作(列表 * 元组 * 字典 * 字符串)_内置函数_切片_运算符_for循环
高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...
- python字符串、列表和字典的说明
python字符串.列表和字典的说明 字符串.列表.字典 字符串的作用存储一段数据信息.例如 info = '我爱北京天安门' ,在调取的时候可以直接调取,灵活方便,print(info) 就可以把刚 ...
- python_列表——元组——字典——集合
列表——元组——字典——集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...
- Python 列表/元组/字典总结
序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...
随机推荐
- SpringBoot2.x的依赖管理
前提 这篇文章是<SpringBoot2.x入门>专辑的第1篇文章,使用的SpringBoot版本为2.3.1.RELEASE,JDK版本为1.8. 主要梳理一下SpringBoot2.x ...
- P2629 【好消息,坏消息】
其实刚开始看到这道题,应该很多都会想到区间DP中的合并石子,开一个2倍的空间(严格来说的话应该是2n-1),将本来的环变成一个链式的结构.然后对于得到的消息,可以预处理一个前缀和,这样就可以很方便的知 ...
- Centos 6.4 安装/卸载 Adobe Reader 9(.bin .tar.bz2 rpm 包)
一.To install Adobe Reader 9.1 using a tarball installer 1. Open a terminal window. 2. Change directo ...
- Android 错误异常之Error:Unable to resolve dependency for ':app@debug/compileClasspath': Could。。。。
这个错误一般出现在导入别人的项目的时候出现的, 我出错原因是,as版本3.5.2用了几个月感觉不如3.0.1的带劲,so 该到了3.0.1 ,出现了这个错, 之前也遇到过,基本都是gradle版本的错 ...
- 【状压DP】SCOI2005-洛谷P1896-互不侵犯 (状压例题)
[状压DP]SCOI2005-洛谷P1896-互不侵犯 (状压例题) 标签(空格分隔): 状压DP 好久没写博客了,真的爽(误) 题目: 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方 ...
- 【盗版动归】Codeforces998C——Convert to Ones 归一操作
嘤嘤嘤,因为最近文化课老师追的紧了+班主任开班会,所以这博客是赶制的赝品 题目: You've got a string a1,a2,…,ana1,a2,…,an, consisting of zer ...
- NOIP 2016 洛谷 P2827 蚯蚓 题解
题目传送门 展开 题目描述 本题中,我们将用符号[c]表示对c向下取整,例如:[3.0」= [3.1」=[3.9」=3.蛐蛐国最近蚯蚓成灾了!隔壁跳 蚤国的跳蚤也拿蚯蚓们没办法,蛐蛐国王只好去请神刀手 ...
- python读取EXCEL是去掉空白行和表头全部重命名
当读取进来的表格如图所示,转换成图2. import pandas as pd # header:指定作为列名的行,默认0,即取第一行的值为列名.数据为列名行以下的数据:若数据不含列名, # 则设定 ...
- [HCTF 2018]admin
前言: 最近在BUUCTF刷题,参照师傅们wp后复现一下 0x01 拿到题目后进去如下界面 发现有登录和注册界面,相比是要登录后才能查看想要的信息. 查看页面源代码,看看有没有上面提示,界面如下 提示 ...
- 安装python包管理工具pip
安装步骤(必须已经安装过python) 1>curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 2>python get-pip ...