python3(七)dict list
# dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
# dict内部存放的顺序和key放入的顺序是没有关系的
# 根据同学的名字查找对应的成绩,如果用list实现,需要两个list
names = ['Michael', 'Bob', 'Tracy']
scores = [95, 75, 85]
# dict实现,只需要一个“名字”-“成绩”的对照表
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
print(d['Michael']) #
# 通过key 添加或者覆盖
d['Adam'] = 67
print(d) # {'Michael': 95, 'Bob': 75, 'Tracy': 85, 'Adam': 67}
d['Adam'] = 66
print(d) # {'Michael': 95, 'Bob': 75, 'Tracy': 85, 'Adam': 66}
# key不存在,dict就会报错
# 判断key是否存在 in 或者get
print('Thomas' in d) # False
print(d.get('Thomas')) # None
# 删除某个元素
d.pop('Bob')
print(d) # {'Michael': 95, 'Tracy': 85, 'Adam': 66}
# 和list比较,dict有以下几个特点:
# --查找和插入的速度极快,不会随着key的增加而变慢;
# --需要占用大量的内存,内存浪费多。
# --------------------------------------------------------
# set set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
# 创建一个set,需要提供一个list作为输入集合,复元素在set中自动被过滤
s = set([1, 1, 2, 2, 3, 3])
print(s) # {1, 2, 3} # 显示的{1, 2, 3}只是告诉你这个set内部有1,2,3这3个元素,显示的顺序也不表示set是有序的
# 添加元素 add
s.add(4)
print(s) # {1, 2, 3, 4}
# remove 删除元素
s.remove(4)
print(s) # {1, 2, 3} # 多个set操作
s1 = set([1, 2, 3])
s2 = set([2, 3, 4])
print(s1 & s2) # {2, 3}
print(s1 | s2) # {1, 2, 3, 4} # 不可变对象
# str 不可变对象
a = 'abc'
a.replace('a', 'A')
print(a) # abc
a = 'abc'
b = a.replace('a', 'A')
print(b) # Abc
list create
list(range(1, 11)) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
L = []
for x in range(1, 11):
L.append(x * x)
print(L) # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
# 功能同上
LL = [x * x for x in range(1, 11)]
print(LL) # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] ll = [x * x for x in range(1, 11) if x % 2 == 0]
print(ll) # [4, 16, 36, 64, 100] lc = [m + n for m in 'ABC' for n in 'XYZ']
print(lc) # ['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ'] import os # 导入os模块,模块的概念后面讲到 dr = [d for d in os.listdir('.')] # os.listdir可以列出文件和目录
print(
dr) # ['dict_set7.py', 'enc3.py', 'for6.py', 'func8.py', 'hello.py', 'hello2.py', 'if5.py', 'iteration10.py', 'listCreate.py', 'list_tuple4.py', 'pian9.py'] d = {'x': 'A', 'y': 'B', 'z': 'C'}
for k, v in d.items():
print(k, '=', v)
# x = A
# y = B
# z = C L = ['Hello', 'World', 'IBM', 'Apple']
print([s.lower() for s in L]) # ['hello', 'world', 'ibm', 'apple']
python3(七)dict list的更多相关文章
- python系列七:Python3字典dict
#!/usr/bin/python #Python3 字典#字典是支持无限极嵌套的citys={ '北京':{ '朝阳':['国贸','CBD','天阶','我爱我家','链接地产 ...
- Python3 字典Dict(十三)
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 字典是另一种可变容器模型,且可存储任意类 ...
- Python3没有dict.has_key方法
最近开始学习Python,安装上最新的Python3.3.3照书敲了一个小程序结果报错 'dict' object has no attribute 'has_key' 上网查也找不到解决办法,后来发 ...
- Python3(七) 正则表达式与JSON
一. 初识正则表达式 1.定义:是一个特殊的字符序列,可以帮助检测一个字符串是否与我们所设定的字符序列相匹配. 2.作用:可以实现快速检索文本.实现替换文本的操作. 3.场景: 1.检测一串数字是否是 ...
- python3 字典dict
字典是用大括号{}表示 dict() 键必须是唯一的,但值则不必:键是不可变的,如字符串.数字.元组,值可以取任意数据类型: 可以迭代, del可以删除一对键值,del Dict['key'] 重复给 ...
- Python3基础 dict 创建字典 空字典
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- python3的dict
dict1 = {getlistUrl:getlistData,getskuUrl:getskuData, approveUrl:approveData, approvedlistUrl:approv ...
- Python3中dict字典的相关操作函数
字典对象的内建函数 1. clear() 清空字典. 例: >>> a = {1:3, 2:4} >>> a.clear() >>> a {} 2 ...
- Python3基础 dict get 在查询不存在的键时,返回指定的内容
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- Python3基础 dict in/not in 查询一个字符是否指定字典的键或者值
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
随机推荐
- Python3学习之路~10.1 多进程、进程间通信、进程池
一 多进程multiprocessing multiprocessing is a package that supports spawning processes using an API simi ...
- 【ES】Java High Level REST Client 使用示例(增加修改)
ES提供了多种编程语言的链接方式,有Java API,PHP API,.NET API 官网可以详细了解 https://www.elastic.co/guide/en/elasticsearch/c ...
- Journal of Proteome Research | Improving Silkworm Genome Annotation Using a Proteogenomics Approach (分享人:张霞)
题目:Improving Silkworm Genome Annotation Using a Proteogenomics Approach 期刊:Journal of Proteome Resea ...
- vscode回车补全代码
VsCode设置回车补全代码而不换行 有一部分人不习惯用tab键补全代码,我就是其中之一,习惯了回车补全的我决定设置一波,网上找了很多, 没找到比较详细的,所以自己写一个 有一个叫keybinding ...
- tcp上传大文件举例、udp实现qq聊天、socketserver模块实现并发
为什么会出现粘包现象(day31提到过,这里再举个例子) """首先只有在TCP协议中才会出现粘包现象,因为TCP协议是流式协议它的特点是将数据量小并且时间间隔比较短的数 ...
- 从sslyze看TLS证书的点点滴滴
纵观眼下,https已经深入大街小巷,成为网络生活中不可或缺的一部分了.提到了https,我们又不得不想到TLS(SSL),而提到了TLS,我们又不得不提到一个让人捉摸不透的东西:TLS证书. 关于证 ...
- coding++:Semaphore—RateLimiter-漏桶算法-令牌桶算法
java中对于生产者消费者模型,或者小米手机营销 1分钟卖多少台手机等都存在限流的思想在里面. 关于限流 目前存在两大类,从线程个数(jdk1.5 Semaphore)和RateLimiter速率(g ...
- [bzoj1029]建筑抢修<贪心>
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1029 解析:这也算bzoj中比较简单的一道题,其实想通了就是非常的简单. 这题用贪心的方式 ...
- SQL实战(三)
一. 查找所有员工自入职以来的薪水涨幅情况,给出员工编号emp_noy以及其对应的薪水涨幅growth,并按照growth进行升序CREATE TABLE `employees` (`emp_no` ...
- JQuery主要内容
一.什么是JQuery jquery全称javaScript Query,是js的一个框架,本质上仍然是js 二.jQuery的特点 支持各种主流浏览器 使用特别简单 拥有丰富的插件和边界的插件扩展机 ...