Python数据结构:列表、字典、元组、集合
列表:shoplist = ['apple', 'mango', 'carrot', 'banana']
字典:di = {'a':123,'b':'something'}
集合:jihe = {'apple','pear','apple'}
元组: t = 123,456,'hello'
1.列表--------------------------------------------------------------------------------------
空列表:a=[]
函数方法:a.append(3) >>>[3]
a.extend([3,4,5]) >>>[3,3,4,5] 添加一个列表序列
a.insert(1,'hello') >>>[3,'hello',3,4,5]
a.remove(3) >>>['hello',3,4,5] 删除第一个出现的3,没有3则报错
a.pop() >>>['hello',3,4]
a.pop(0) >>>[3,4]
a.index(4) >>>1 返回出现的第一个4的下标
a.count(3) >>>1 列表中元素3的个数
a.sort >>>[3,4] 排序
a.reverse() >>>[4,3] 反序
删除元素的方法
a.remove(3) 通过值删除元素,删除第一个为参数值得元素
a.pop() 通过下标删除元素,默认删除列表最后一个值,带参数则删除下标为参数值的元素
del a[0] 通过下标删除元素,
del a[2:4] 删除a表下标为2,3的元素
del a[:] 删除a列表所有元素
del a 删除列表
列表推导式:
vec = [2,4,6]
[3*x for x in vec if x<6] >>>[6,12] 3*2,3*4
vec2 = [1,2,3]
[x*y for x in vec for y in vec2] >>>[2,4,6,4,8,12,6,12,18]
嵌套列表推导式:
mat = [
[1,2,3],
[4,5,6],
[7,8,9]
]
print ([[row[i] for row in mat] for i in [0,1,2]])
>>>[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
思考:list (zip(mat)) 和 list (zip(*mat))结果会有什么不同
2.元组---------------------------------------------------------------------------------------------------
空元组:t = ()
元组赋值: t = (123,345)
t[0] >>>123
3.字典---------------------------------------------------------------------------------------------------------
d = {'Jack':'jack@mail.com','Tom':'Tom@main.com'}
d['Jack'] >>>'jack@mail.com
d['Jim'] = 'Jim@sin.com' >>>{'Jim': 'Jim@sin.com', 'Jack': 'jack@mail.com', 'Tom': 'Tom@main.com'}
del d['Jim'] >>>{'Jack': 'jack@mail.com', 'Tom': 'Tom@main.com'}
list(d.keys()) 将返回一个字典中所有关键字组成的无序列表
sorted(d.keys()) 将返回一个字典中所有关键字组成的排序列表
dict() 构造函数可以直接从key-value对中创建字典
dict([('Tim',123),('Tiny',234)]) >>>{'Tiny': 234, 'Tim': 123}
推导式创建字典:
{d2:d2+'@main.com' for d2 in list(d.keys())}
>>>{'Jack': 'Jack@main.com', 'Tom': 'Tom@main.com'}
练习:循环输出字典中的键值对:
for name,email in d.items():
print(name,email)
4.集合--------------------------------------------------------------------------------------------
集合是一个无序不重复元素的集。基本功能包括关系测试和消除重复元素。
空集合:A = set() ※想要创建空集合,必须使用set()
演示:
basket = {'apple','orange','apple'} >>>{'orange', 'apple'} 注意重复的元素只显示一个?
'apple' in basket >>>True
'pear' in basket >>>False
集合的数学运算:
a = set('ababcdabca') >>>{'c', 'b', 'a', 'd'}
b = {'a','b','m'} >>>{'b', 'a', 'm'}
a - b >>>{'c', 'd'}
b - a >>>{'m'}
a | b >>>{'c', 'd', 'b', 'a', 'm'}
a & b >>>{'a','b'}
a ^ b >>>{'c','d','m'}
集合推导式:
{x for x in a if x not in 'ab'} >>>{'c','d'}
Python数据结构:列表、字典、元组、集合的更多相关文章
- python之字符串,列表,字典,元组,集合内置方法总结
目录 数字类型的内置方法 整型/浮点型 字符串类型的内置方法 列表的内置方法 字典的内置方法 元组的内置方法 集合类型内置方法 布尔类型 数据类型总结 数字类型的内置方法 整型/浮点型 加 + 减 - ...
- Python【列表 字典 元组】
列表列表用中括号[ ]把各种数据框起来,每一个数据叫作“元素”.每个元素之间都要用英文逗号隔开各种类型的数据(整数/浮点数/字符串)————————————————————————————从列表提取单 ...
- python中 列表 字典 元组的了解
#######列表######1.列表的特性 server = [['http'],['ssh'],['ftp']] server1 = [['mysql'],['firewalld']] 连接 ...
- Python笔记——基本数据结构:列表、元组及字典
转载请注明出处:http://blog.csdn.net/wklken/archive/2011/04/10/6312888.aspx Python基本数据结构:列表,元组及字典 一.列表 一组有序项 ...
- Python中列表,元组,字典,集合的区别
参考文档https://blog.csdn.net/Yeoman92/article/details/56289287 理解Python中列表,元组,字典,集合的区别 列表,元组,字典,集合的区别是p ...
- [转]Python 的列表解析式,集合解析式,字典解析式
Python 的列表解析式,集合解析式,字典解析式 这三种都是 python 里面的语法糖. 语法糖,Syntactic Sugar,就是为了写程序时候少出错,发明的一些简便的方法,但不影响这个语法的 ...
- Python基础-列表、元组、字典、字符串
Python基础-列表.元组.字典.字符串 多维数组 nums1 = [1,2,3] #一维数组 nums2 = [1,2,3,[4,56]] #二维数组 nums3 = [1,2,3,4,['a ...
- python字符串/列表/字典互相转换
python字符串/列表/字典互相转换 目录 字符串与列表 字符串与字典 列表与字典 字符串与列表 字符串转列表 1.整体转换 str1 = 'hello world' print(str1.spli ...
- Python基础------列表,元组的调用方法
Python基础------列表,元组的调用方法@@@ 一. 列表 Python中的列表和歌曲列表类似,也是由一系列的按特定顺序排列的元素组成的,在内容上,可以将整数,实数,字符串,列表,元组等任何类 ...
- Python中的字典与集合
今天我们来讲一讲python中的字典与集合 Dictionary:字典 Set:集合 字典的语法: Dictionary字典(键值对) 语法: dictionary = {key:value,key: ...
随机推荐
- JBPM4.4_管理流程定义
1. 管理流程定义 没有更新功能 1.1. 部署流程定义 注意区分Deployment与ProcessDefinition 1.1.1. 示例代码1:流程定义有关文件在classpath中 Strin ...
- swift--设置app图标和启动页面
1,如下图:
- Python 入门(十)列表生成式
生成列表 要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我们可以用range(1, 11): >>> range(1, 11) [1, 2, 3, ...
- orcale 闪回操作 已提交的修改 给还原
delete from conf_ty_parser_title; INSERT INTO conf_ty_parser_title ( SELECT * FROM conf_ty_parser_ti ...
- 佛祖保佑永无bug
世界最难懂C语言代码竞赛: // _ooOoo_ // o8888888o // 88" . "88 // (| -_- |) // O\ = /O // ____/`---'\_ ...
- windows10 专业版激活工具
分享一个激活工具: 链接:https://pan.baidu.com/s/1HsdAKuxxsdvzZ282k7HtMg 提取码:tqe0
- String.Join重载String.Join 方法 (String, String[], Int32, Int32)
https://msdn.microsoft.com/zh-cn/library/tk0xe5h0 String.Join 方法 (String, String[], Int32, Int32) 官方 ...
- 【linux】安装rar,并解压被压缩成多个rar的文件
rar 官网:http://www.rarsoft.com/download.htm 选择 RAR for linux (注意你的系统是32位还是64位) 1 安装命令: $ cd /roo ...
- java.lang.NoSuchMethodException:com.yxq.action.AdminAction.addGoods()《转载》
java.lang.NoSuchMethodException:com.yxq.action.AdminAction.addGoods() 在学习struts2的时有时会出现此异常,现将其总结如下 ...
- bond的操作方式
本文转自网上,版权归属原作者,原文地址 :https://www.cnblogs.com/5201351/p/4898342.html 操作系统:CentOS Linux release 7.1.15 ...