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. 比较
序列的比较是按照类似字符串比较的方式进行。
分享到:
相关推荐
这些笔记有助于你系统地复习和学习数据结构。 相关书籍推荐:为了更深入地理解数据结构,我们推荐了几本经典的教材和参考书籍。这些书籍将帮助你建立完整的数据结构知识体系。 适用人群: 这份学习资料适用于所有...
这些笔记有助于你系统地复习和学习数据结构。 相关书籍推荐:为了更深入地理解数据结构,我们推荐了几本经典的教材和参考书籍。这些书籍将帮助你建立完整的数据结构知识体系。 适用人群: 这份学习资料适用于所有...
列表和字典是Python内置的数据类型,非常重要,更复杂的数据结构(栈,队列…)都能用其实现,都是容器类型,用来存放数据。 1.1什么是列表 **最形象的理解:**列表就像一个收纳盒一样,有序的存放数据! Python...
1.本课程帮助学员快速了解Python自带的八大数据结构:①.数字 ②.字符串 ③.列表 ④.元组 ⑤.字典 ⑥.集合 ⑦.文件 ⑧.其它类型(None类型、布尔类型等)2.以笔记为导向作为讲解内容是本人一贯的授课亮点,一条笔记...
数据结构 I II III IV V VI VII VIII IX 数组 链表 队列 栈 哈希表 字典树 树 图 算法 I II III IV V VI VII VIII IX X XI XII IX X 冒泡排序 选择排序 插入排序 希尔排序 归并排序 快速排序 堆排序 计数排序 桶排序...
计算机类书籍:操作系统、计算机网络、计算机组成原理、汇编语言、C语言、C++、Java、Python、Go、前端、算法与数据结构、大数据、人工智能、面试题 实验报告:通过实际操作与数据记录,让您深入理解计算机内部的...
:hourglass_not_done:算法与数据结构 :scroll:数据库 :alarm_clock:计算机组成原理 :globe_with_meridians:计算机网络 :artist_palette:个人爱好 :alien: 统一 :game_die: 搅拌机 :musical_score: FL_Studio
Python .- Web .- Docker .- Linux .- Git .- Kali .- Develop 开发途中遇到的问题和解决办法- ComputerBasics 计算机基础=数据结构和算法+计算机网络+操作系统+编译原理+计算机组成原理- Database 数据库=Mysql+...
leetcode ...主要目的是对于数据结构(看书加做题)和编程技巧(C++看视频)以及算法(刷题)的复习&学习. 目前春招实习告一段落,做一个草稿版本,后续进行更新,(菜鸡笔记) -。- contact me for mo
java软件笔试题 :artist_palette: 前言 !> 说明:做一个有趣的爱分享的人,记录本科及研究生阶段所学的计算机专业知识,力求构建「AI & CS & SE」知识体系。如果你喜欢这个文档网站欢迎到 ...算法与数据结构
深度学习技术(tensorflow框架,张量与变量)【beta版】,以后会逐渐完善,这一份是老师的笔记 第2章 TensorFlow框架介绍 2 2.1. TF数据流图 2 2.1.1. 案例:TensorFlow实现一个加法运算 2 2.1.2. 数据流图介绍 3 ...