`
jamie.wang
  • 浏览: 348826 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Python复习笔记—数据结构

阅读更多

1. List对象

一些方法:

 

>>> lista
['steven', 3.14]
>>> lista.extend(['python', 'adam', 'alex'])
>>> lista
['steven', 3.14, 'python', 'adam', 'alex']
>>> lista.pop()
'alex'
>>> lista
['steven', 3.14, 'python', 'adam']
>>> lista.pop(2);
'python'
>>> lista
['steven', 3.14, 'adam']
>>> lista.index(3.14)
1

 

2. Filter

filter(f, seqence)返回一个序列,其中的元素(x)调用f(x)返回true,即过滤掉返回false的元素

 

>>> filter(lambda x : x % 2 != 0, range(10))
[1, 3, 5, 7, 9]

 

3. Map

map(f, sequence)在每个sequence元素(x)上调用f(x),返回整个序列调用后的结果

 

>>> map(lambda x : x * x, range(5))
[0, 1, 4, 9, 16]

 

且支持多个sequnce

>>> map(lambda x, y : x + y, range(5), range(5))
[0, 2, 4, 6, 8]

4. Reduce

reduce(f, sequence)在第一个元素和第二个元素上调用f,接着是结果和第三个元素,最后返回最终一个结果

 

>>> reduce(lambda x, y : x + y, range(5))
10

 

5. List的初始化

可以用一个范围和一个计算试来灵活的初始化List

 

>>> squares = [x**2 for x in range(10)]

>>> squares
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> [(x, y) for x in range(3) for y in range(3) if x != y]
[(0, 1), (0, 2), (1, 0), (1, 2), (2, 0), (2, 1)]

>>> def is_prime(n) :
	for i in range(2, n) :
		if 0 == n % i :
			return False
	return True
>>> [ x for x in range(30) if is_prime(x) ]
[0, 1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29]

6. Del

del可以删除元素,也可删除一个范围的元素,甚至整个对象

 

>>> lista
['steven', 'lucy', 'adam']
>>> del lista[0]
>>> lista
['lucy', 'adam']
>>> del lista[0:1]
>>> lista
['adam']
>>> del lista
>>> lista

Traceback (most recent call last):
  File "<pyshell#421>", line 1, in <module>
    lista
NameError: name 'lista' is not defined 

7. Tuples

tuple包含一组逗号(,)分隔的值

 

>>> t = 3, 'one', 3.14
>>> t[0]
3
>>> t = t, 'fxx', False
>>> t
((3, 'one', 3.14), 'fxx', False)
>>> t = 'single', # <-- note trailing comma
>>> t[0]
'single'

8. Sets

set是元素的集合,没有重复元素,可以做集合运算

 

>>> s0 = set([1, 'six', 0, 5, False, 2, 'nine', 0, 'seven'])
>>> t = 6, 'nine', 8, 'twelve', 2, True, 0, 'seven'
>>> s1 = set(t)
>>> s0 & s1
set([0, 1, 2, 'nine', 'seven']) # note: 0 == False, 1 == True
>>> s0 | s1
set([0, 1, 2, 5, 6, 'twelve', 8, 'six', 'seven', 'nine'])
>>> s0 - s1
set(['six', 5])
>>> s0 ^ s1
set(['twelve', 5, 6, 8, 'six'])
>>> 

9. Dicts

dict相当于其他语言中的map

 

 

>>> tel = {'jack': 4098, 'sape': 4139}
>>> tel['guido'] = 4127
>>> tel
{'sape': 4139, 'guido': 4127, 'jack': 4098}
>>> tel['jack']
4098
>>> del tel['sape']
>>> tel['irv'] = 4127
>>> tel
{'guido': 4127, 'irv': 4127, 'jack': 4098}
>>> tel.keys()
['guido', 'irv', 'jack']
>>> 'guido' in tel
True
>>> dict([('sape', 4139), ('guido', 4127), ('jack', 4098)])
{'sape': 4139, 'jack': 4098, 'guido': 4127}
>>> dict([(x, x**2) for x in (2, 4, 6)])     # use a list comprehension
{2: 4, 4: 16, 6: 36}
>>> dict(sape=4139, guido=4127, jack=4098)
{'sape': 4139, 'jack': 4098, 'guido': 4127}

 

10. 遍历集合

 

>>> tels = dict(sape=4139, guido=4127, jack=4098)
for k, v in tels.iteritems() :
	print k + ':',v

sape: 4139
jack: 4098
guido: 4127
>>> for i, v in enumerate(['one', 'two', 'three']) :
	print i + 1, ' : ' + v

	
1  : one
2  : two
3  : three
>>> questions = ['name', 'quest', 'favorite color']
>>> answers = ['lancelot', 'the holy grail', 'blue']

>>> for q, a in zip(questions, answers):
	print 'What is your {0}?  It is {1}.'.format(q, a)

What is your name?  It is lancelot.
What is your quest?  It is the holy grail.
What is your favorite color?  It is blue.

 

11. 比较

序列的比较是按照类似字符串比较的方式进行。

 

分享到:
评论

相关推荐

    数据结构高分笔记part1

    7. **实际应用**:最后,笔记可能会将这些理论知识与实际编程语言(如C++、Java或Python)结合,通过示例代码解释如何实现这些数据结构和算法。 由于笔记名为“数据结构高分笔记”,它很可能会重点强调考试中的常见...

    NKU-SE-python复习笔记 v1

    【Python复习笔记要点详解】 1. **Python考试结构** - 考试题型包括是非题、选择题、填空题、简答题和分析题,其中重点在于对Python语法的理解和实际应用。 - 考试时间大约为1小时,要求对Python的基本概念、语法...

    python复习笔记1

    在Python中,序列类型是数据结构的基础,包括列表和元组。 列表是Python中最常用的可变序列类型,可以存储任意类型的对象。列表用方括号[]定义,可以通过索引来访问或修改其中的元素。例如,`my_list = [1, 2, 3]`...

    计算机二级python自学笔记PDF

    此外,Python的内置数据结构和算法也是考试的重点,如排序和搜索算法,以及如何有效地使用这些工具来优化代码性能。 在准备计算机二级考试的过程中,考生还需要了解标准库中的常用模块,如os、sys、math、datetime...

    python 大神学习笔记

    作者雨痕详细总结了Python编程语言的许多关键知识点,这些内容覆盖了从基本语法到高级特性等多个层面,对于有一定编程基础的读者来说,这份笔记不仅可以帮助他们复习和巩固已学知识,也可以让他们系统地了解Python的...

    王纯业版《Python学习笔记》.pdf

    - **序列类型**(如字符串string、列表list、元组tuple)是Python中非常重要的数据结构,用于存储一系列有序的数据。 #### §1.4 列表 - **创建列表**:可以通过方括号[]和逗号分隔的元素来创建。 - **访问元素**:...

    Python学习笔记(中文版)..

    3. **Python基础语法**:包括变量、数据类型(如整型、浮点型、字符串、布尔型、列表、元组、字典、集合)、控制结构(如if-else、for循环、while循环)、函数定义和调用、模块导入等。 4. **面向对象编程**:介绍...

    数据结构期末复习题及课件

    在这个"数据结构期末复习题及课件"压缩包中,你将找到一系列宝贵的资源,帮助你准备即将到来的期末考试。 首先,我们看到一个名为"新建 Microsoft Word 文档.doc"的文件,这很可能是包含了历年的期末试题或者重点...

    Python 中文数据结构和算法教程.zip

    这些笔记有助于你系统地复习和学习数据结构。 相关书籍推荐:为了更深入地理解数据结构,我们推荐了几本经典的教材和参考书籍。这些书籍将帮助你建立完整的数据结构知识体系。 适用人群: 这份学习资料适用于所有...

    100 天学会python 学习笔记.zip

    通过这种方法,学习者可以逐步建立坚实的基础,理解Python的语法、数据结构、控制流、函数、模块、面向对象编程等核心概念,并逐渐接触到更高级的主题,如异常处理、文件操作、网络编程、数据分析等。 【标签】虽为...

    Python学习笔记

    接下来,笔记会深入讲解Python的基本语法,如变量、数据类型(整型、浮点型、字符串、布尔型)、列表、元组、字典、集合等数据结构的使用。此外,还可能包括流程控制语句(条件判断、循环结构)和函数的定义与调用。...

    B站马士兵Python学习笔记(36页)

    这篇笔记基于B站马士兵的Python入门基础版视频,旨在为有Java基础的学习者提供一个简洁明了的复习资料。通过阅读笔记,你可以快速回顾视频中的关键概念,同时也适合那些正在自学Python的人进行每日复习。 **第一章 ...

    python学习笔记,100天

    1. **基础语法**:Python的基础包括变量、数据类型(如整型、浮点型、字符串、布尔型、列表、元组、字典和集合)、运算符(算术、比较、逻辑和赋值)、流程控制(条件语句、循环结构如for和while)以及函数定义与...

    python复习4.zip

    【Python复习4.zip】是一个包含了Python学习资源的压缩文件,主要涵盖了Python实验四的题目解析、课本习题解答以及上课笔记等内容。这个压缩包显然旨在帮助学习者巩固Python编程的知识,提升技能。以下是对其中各个...

    python视频笔记(视频太慢,留作复习参考)

    - 字典(dict)是一种存储键值对的数据结构。 - 字典的键必须是唯一的且不可变,值可以是任意类型。 ### 控制结构和函数 #### 第09课-流程控制 - 流程控制包括条件语句和循环语句。 - 条件语句使用if、elif和else...

    python学习笔记(1)

    9. **初级数据结构**(可能在day0.txt或day2.txt):可能涉及集合和字典,它们是Python中非常重要的数据结构,用于存储和管理复杂的数据。 10. **控制台输入与输出**(可能在day1.txt或相关文件):讲解input()函数...

    浙江大学《数据结构》上课笔记 + 数据结构实现 + 课后题题解.zip

    在这部分,学生将学习到如何使用C++、Java或Python等编程语言,来构建和操作各类数据结构。例如,通过编程语言实现链表节点的创建、二叉搜索树的插入查找、哈希表的构建以及堆结构的优先队列操作等。这些实现不仅...

    python笔记 ,ppt,python例题代码

    这些例题可能涉及到字符串操作、列表处理、文件操作、面向对象编程以及更复杂的数据结构如字典和集合。通过实际编写和调试代码,学习者可以提高解决问题的能力,并熟悉Python的编程风格。 "二十多个ppt"是另一种...

    Java数据结构与算法15天笔记.zip

    这些文件涵盖了Java数据结构与算法的核心主题,是学习和复习的重要资源。让我们逐一解析每个文件名,探索其中可能涵盖的知识点: 1. **day02 链表.md** - 链表是数据结构的基础,它不依赖于内存位置连续存储元素。...

    python实验数据采集PPT计网复习南师大考研操作系统期末笔记

    这篇文档主要探讨了Python在实验数据采集中的应用,并结合了计算机网络(计网)的复习资料,以及南师大(南京师范大学)考研操作系统课程的期末笔记。这些都是专业课学习的重点内容,对于备考研究生考试或提升个人...

Global site tag (gtag.js) - Google Analytics