列表

列表里可以存储任意的数据类型、可修改的结构,用[ ]括起来表示或用函数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. 洛谷 P2298 【Mzc和男家丁的游戏 】

    这道题还是挺水的,广搜模板题,注意一下细节就是了. :码代上上代码: #include <bits/stdc++.h> using namespace std; int n , m , s ...

  2. js写一个简单的日历

    思路:先写一个结构和样式,然后写本月的时间,之后计算上下月份的关系 <!DOCTYPE html> <html lang="en"> <head> ...

  3. RSS阅读器推荐

    http://www.feeddemon.com/ Windows,Free (完)

  4. 手写SpringMVC框架(二)-------结构开发设计

    续接前文, 手写SpringMVC框架(一)项目搭建 本节我们来开始手写SpringMVC框架的第二阶段:结构开发设计. 新建一个空的springmvc.properties, 里面写我们要扫描的包名 ...

  5. python学习_Linux系统的常用命令(二)

    linux基本命令: 1.ls 的详细操作: ls - l : 以列表方式显示文件的详细信息 ls -l -h: 以人性化的方式显示文件的大小 ls -l -h -a 显示所有的目录和文件,包括隐藏文 ...

  6. css如何让文字不换行显示?

    在CSS中,可以通过white-space属性来实现文字不换行显示:只要将white-space属性的值为nowrap就可强制文字不换行. white-space属性指定元素内的空白怎样处理.它有以下 ...

  7. (五)ELK Logstash output

    # 输出插件将数据发送到一个特定的目的地, 除了elasticsearch还有好多可输出的地方, 例如file, csv, mongodb, redis, syslog等 output { if [t ...

  8. 实战SpringCloud通用请求字段拦截处理

    背景 以SpringCloud构建的微服务系统为例,使用前后端分离的架构,每个系统都会提供一些通用的请求参数,例如移动端的系统版本信息.IMEI信息,Web端的IP信息,浏览器版本信息等,这些参数可能 ...

  9. 震惊!慎老师怒吃pks并大呼:一口就吃完了!

    慎老师吃pks是怎么回事呢?慎老师相信大家都很熟悉,但是慎老师吃pks是怎么回事呢,下面就让小编带大家一起了解吧. 慎老师吃pks,其实就是慎老师把花花蛤吃了,大家可能会很惊讶慎老师怎么会吃花花蛤呢? ...

  10. SqlLite用SQLiteTransaction快速导入数据

    mysql与sql server都有整表导入的类库,但是查遍了资料发现sqlLite没有,除非自己去写个,发现用SQLiteTransaction导入数据也很快,附上代码 /// <summar ...