列表

列表里可以存储任意的数据类型、可修改的结构,用[ ]括起来表示或用函数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或者()表示
 

字典

字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据。为了保存具有映射关系的数据,Python 提供了字典,字典相当于保存了两组数据,其中一组数据是关键数据,被称为 key;另一组数据可通过 key 来访问,被称为 value。
字典用{ }或者用dict()函数创建
scores = {'语文': 109, '数学': 110, '英语': 123}
dict1=dict(身高=179,体重=120,年龄=22)#字符串不需用引号
 
字典的基本用法:key 是字典的关键数据,因此程序对字典的操作都是基于key的
 
•访问字典中的值
 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的更多相关文章

  1. Python初学笔记列表&元组&字典

    一.从键盘获取 1 print("请输入") 2 username = input("姓名:") 3 age = input("年龄:") ...

  2. Python第三天 序列 数据类型 数值 字符串 列表 元组 字典

    Python第三天 序列  数据类型  数值  字符串  列表  元组  字典 数据类型数值字符串列表元组字典 序列序列:字符串.列表.元组序列的两个主要特点是索引操作符和切片操作符- 索引操作符让我 ...

  3. Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式

    Python第三天 序列  5种数据类型  数值  字符串  列表  元组  字典 各种数据类型的的xx重写xx表达式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell ...

  4. python中列表 元组 字典 集合的区别

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...

  5. **python中列表 元组 字典 集合

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...

  6. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

  7. 2.9高级变量类型操作(列表 * 元组 * 字典 * 字符串)_内置函数_切片_运算符_for循环

    高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...

  8. python字符串、列表和字典的说明

    python字符串.列表和字典的说明 字符串.列表.字典 字符串的作用存储一段数据信息.例如 info = '我爱北京天安门' ,在调取的时候可以直接调取,灵活方便,print(info) 就可以把刚 ...

  9. python_列表——元组——字典——集合

    列表——元组——字典——集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...

  10. Python 列表/元组/字典总结

    序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...

随机推荐

  1. SpringBoot2.x的依赖管理

    前提 这篇文章是<SpringBoot2.x入门>专辑的第1篇文章,使用的SpringBoot版本为2.3.1.RELEASE,JDK版本为1.8. 主要梳理一下SpringBoot2.x ...

  2. P2629 【好消息,坏消息】

    其实刚开始看到这道题,应该很多都会想到区间DP中的合并石子,开一个2倍的空间(严格来说的话应该是2n-1),将本来的环变成一个链式的结构.然后对于得到的消息,可以预处理一个前缀和,这样就可以很方便的知 ...

  3. 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 ...

  4. Android 错误异常之Error:Unable to resolve dependency for ':app@debug/compileClasspath': Could。。。。

    这个错误一般出现在导入别人的项目的时候出现的, 我出错原因是,as版本3.5.2用了几个月感觉不如3.0.1的带劲,so 该到了3.0.1 ,出现了这个错, 之前也遇到过,基本都是gradle版本的错 ...

  5. 【状压DP】SCOI2005-洛谷P1896-互不侵犯 (状压例题)

    [状压DP]SCOI2005-洛谷P1896-互不侵犯 (状压例题) 标签(空格分隔): 状压DP 好久没写博客了,真的爽(误) 题目: 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方 ...

  6. 【盗版动归】Codeforces998C——Convert to Ones 归一操作

    嘤嘤嘤,因为最近文化课老师追的紧了+班主任开班会,所以这博客是赶制的赝品 题目: You've got a string a1,a2,…,ana1,a2,…,an, consisting of zer ...

  7. NOIP 2016 洛谷 P2827 蚯蚓 题解

    题目传送门 展开 题目描述 本题中,我们将用符号[c]表示对c向下取整,例如:[3.0」= [3.1」=[3.9」=3.蛐蛐国最近蚯蚓成灾了!隔壁跳 蚤国的跳蚤也拿蚯蚓们没办法,蛐蛐国王只好去请神刀手 ...

  8. python读取EXCEL是去掉空白行和表头全部重命名

    当读取进来的表格如图所示,转换成图2. import pandas as pd # header:指定作为列名的行,默认0,即取第一行的值为列名.数据为列名行以下的数据:若数据不含列名, # 则设定 ...

  9. [HCTF 2018]admin

    前言: 最近在BUUCTF刷题,参照师傅们wp后复现一下 0x01 拿到题目后进去如下界面 发现有登录和注册界面,相比是要登录后才能查看想要的信息. 查看页面源代码,看看有没有上面提示,界面如下 提示 ...

  10. 安装python包管理工具pip

    安装步骤(必须已经安装过python) 1>curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 2>python get-pip ...