Python-02

作者: 云元帅一心 | 来源:发表于2018-03-19 22:22 被阅读16次

参考 :

  1. 庞雪峰Python教程
  2. 公众号DeveloperPython
    3.Python中文资源大全

一、 List 和 tuple

集合在每种语言都有,Python也不例外

1.1 List

Python内置的列表数据类型,一种有序集合。

>>> name = ['Mark','Tom','Lucy']  
>>> len(name)  # 长度
3
>>> name[0] # 获取第一个元素
'Mark'
>>> name.append('Jhon') # 在末尾追加一个元素
>>> name 
['Mark', 'Tom', 'Lucy', 'Jhon']
>>> name.insert(0,'Jack') # 插入元素
>>> name
['Jack', 'Mark', 'Tom', 'Lucy', 'Jhon']
>>> name.pop(4) # 移除元素
'Jhon'
>>> name
['Jack', 'Mark', 'Tom', 'Lucy']
>>> name[2] = 'Marshal' # 赋值(替换)
>>> name
['Jack', 'Mark', 'Marshal', 'Lucy']

# 多层List
>>> s = ['Java','Python',['Php','C#']] 
>>> s
['Java', 'Python', ['Php', 'C#']]
>>> s[2]
['Php', 'C#']
>>> s[2][1]
'C#'

1.2 tuple

和List一样,tuple也是一个有序列表。唯一和list有区别的就是 tuple一旦被初始化就不能修改(即tuple没有 append insert函数)

>>> name = ('Mark','Tom','Jack')
>>> name
('Mark', 'Tom', 'Jack')
>>> city = ('Paris',)
>>> city
('Paris',) # 表示只有一个元素 Paris
>>> name
('Mark', 'Tom', 'Jack')

# 当然如果tuple中包含list那么这个list是可变的,因此tuple中保存的只是list的指针
>>> a = ('A',['B','C'])
>>> a[1][1] = 'D'
>>> a
('A', ['B', 'D']) # ch成功替换

二、 dict 和 set

2.1 dict

Python内置了字典:dict的支持,dict全称dictionary,类似于Java中的Map,使用键值对(key-value)存储,具有极快的查找速度,key 唯一

>>> data = {'Mark': 95, 'Tom': 75, 'Lucy': 80}
>>> data
# 1、查
>>> data['Tom']
75
>>> data.get('Tom')
75
# 2、改
# 多次对一个key放入value,后面的值会把前面的值覆盖
>>> data['Tom'] = 100
>>> data
{'Mark': 95, 'Tom': 100, 'Lucy': 80}
# 3、增
>>> data['Jack'] = 99
>>> data
{'Mark': 100, 'Tom': 100, 'Lucy': 80, 'Jack': 99}
# 4、 删
>>> data.pop('Mark')
100
>>> data
{'Tom':100, 'Lucy': 80, 'Jack': 99}
# 判断 key是否存在  *in*
>>> 'Thomas' in data
False
# dict提供get()方法,如果key不存在,则返回None或者自己指定的值
>>> data.get('haha')
>>> data.get('haha', -1)
-1
# Python的交互环境不会显示空值 None, 例如:
>>> a = None
>>> a # 回车
>>> (None 看不见我)

请务必注意,dict内部存放的顺序和key放入的顺序是没有关系的。

和list比较,dict有以下几个特点:
1、 查找和插入的速度极快,不会随着key的增加而变慢;
2、 需要占用大量的内存,内存浪费多。
而list相反:
1、查找和插入的时间随着元素的增加而增加;
2、占用空间小,浪费内存很少。
所以,dict是用空间来换取时间的一种方法。

dict可以用在需要高速查找的很多地方,在Python代码中几乎无处不在,正确使用dict非常重要,需要牢记的第一条就是dict的key必须是不可变对象

2.2 set

无序不重复
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

# 要创建一个set,需要提供一个list作为输入集合:
>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}
# 增
>>> s.add(4)
>>> s
{1, 2, 3, 4}
# 删
>>> s.remove(3)
>>> s
{1, 2, 4}

相关文章

  • Python-02

    参考 : 庞雪峰Python教程 公众号DeveloperPython3.Python中文资源大全 一、 List...

  • Python-02题

    Question: >Write a program which can compute the factoria...

  • Python-02进阶-02装饰器

    Python-00装饰器 装饰器 [toc] TODO 总结 装饰器的作用就是为已经存在的函数或对象添加额外的功能...

  • Python-02 元组 & 字符串

    元组 元组是不可变的元组可以不带括号 也可以通过下标获取元素 元组可以切片切片:将目标对象中的元素以某种特定的组合...

  • 【Python-02】练习01-1-20170711

    下班前研究了下昨天的for循环,在eclipse装了个Python插件。 运行结果只输出 i,j,k,很奇怪。 语...

  • 疯狂的Python-02(不变的哈希值)

    一些有趣的鲜为人知的Python特性集合 无论你是Python新手还是Python老手,我相信,这个系列的文章都会...

  • 【Python-02】正则表达式-20170708

    正则表达式 1.正则表达式的概念 正则表达式是可以匹配文本片段的模式。 最简单的正则表达式就是普通字符串,可以匹配...

  • Python-02进阶-03生成器

    title: Python进阶知识03-生成器.mdtags: 2019年 08月 11号notebook: 00...

  • Python-02进阶-04多进程多线程

    Python 进阶-04 进程线程协程并发等.md tags: Python 多进程 并发 进阶 必备知识 201...

  • Python-02进阶-07代码优化技巧

    代码优化技巧 优化原则 核心技巧 其他技巧 Python 代码性能优化技巧 常用代码优化技巧 sort()优于so...

网友评论

      本文标题:Python-02

      本文链接:https://www.haomeiwen.com/subject/wbkmqftx.html