1、列表list:a=[value1,value2,value3,value4,…]

方法论methods:list.append(x) #列表追加,等同于a[len(a):] = [x]list.extend(L) #列表加长,等同于a[len(a):] = Llist.insert(i, x) #列表插入,a.insert(len(a), x)等同于a.append(x)list.remove(x) #列表删除,从first查找value=xlist.pop([i]) #列表剔除并返回值,默认a.pop()是remove the last onelist.index(x) #返回value=x的索引号list.count(x) #返回value=x出现的次数list.sort(cmp=None, key=None, reverse=False) #等同于sorted(iterable[, cmp[, key[, reverse]]])函数list.reverse() #列表反向

应用论using:1、堆栈Stacks>>> stack = [3, 4, 5]>>> stack.append(6)>>> stack.append(7)>>> stack

[3, 4, 5, 6, 7]>>> stack.pop()7

>>> stack

[3, 4, 5, 6]>>> stack.pop()6

>>> stack.pop()5

>>> stack

[3, 4]2、队列Queues>>> from collections import deque>>> queue = deque(["Eric", "John", "Michael"])>>> queue.append("Terry") # Terry arrives>>> queue.append("Graham") # Graham arrives>>> queue.popleft() # The first to arrive now leaves'Eric'>>> queue.popleft() # The second to arrive now leaves'John'>>> queue # Remaining queue in order of arrivaldeque(['Michael', 'Terry', 'Graham'])

工具论tools:filter(function, sequence) #返回sequence中符合function的值>>> def f(x): return x % 3 == 0 or x % 5 == 0

...>>> filter(f, range(2, 25))

[3, 5, 6, 9, 10, 12, 15, 18, 20, 21, 24]map(function, sequence) #返回一个由function生成的列表>>> def cube(x): return x*x*x

...>>> map(cube, range(1, 11))

[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]reduce(function, sequence) #返回sequence前两个items在function中值>>> def add(x,y): return x+y

...>>> reduce(add, range(1, 11))55

##如果sequence中只有一个值,返回之>>> def sum(seq):

... def add(x,y): return x+y

... return reduce(add, seq, 0)

...>>> sum(range(1, 11))55

>>> sum([])

0

另类函数del a[index1:index2]>>> a = [-1, 1, 66.25, 333, 333, 1234.5]>>> del a[0]>>> a

[1, 66.25, 333, 333, 1234.5]>>> del a[2:4]>>> a

[1, 66.25, 1234.5]>>> del a[:]>>> a

[]>>> del a>>> a

Traceback (most recent call last):

File "", line 1, in NameError: name 'a' is not defined#### 列表a已被清除

2、元组(Tuples)和序列(Sequences )>>> t = 12345, 54321, 'hello!'>>> t[0]12345

>>> t

(12345, 54321, 'hello!')>>> # Tuples may be nested:... u = t, (1, 2, 3, 4, 5)>>> u

((12345, 54321, 'hello!'), (1, 2, 3, 4, 5))###元组在输出时总有括号,输入时可有可无。元组可用于表示坐标点,员工记录;元组就像字符串,不可更改,不可单独赋值##包含0个或一个元素的元组>>> empty = ()>>> singleton = 'hello', # <-- note trailing comma>>> len(empty)

0>>> len(singleton)1

>>> singleton

('hello',)

3、字符集sets

无序的,没有重复的字符集合。创建字符集用set()函数,而不是set{}>>> basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']>>> fruit = set(basket) # create a set without duplicates>>> fruit

set(['orange', 'pear', 'apple', 'banana'])>>> 'orange' in fruit # fast membership testingTrue>>> 'crabgrass' in fruit

False>>> # Demonstrate set operations on unique letters from two words...>>> a = set('abracadabra')>>> b = set('alacazam')>>> a # unique letters in aset(['a', 'r', 'b', 'c', 'd'])>>> a - b # letters in a but not in bset(['r', 'd', 'b'])>>> a | b # letters in either a or bset(['a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'])>>> a & b # letters in both a and bset(['a', 'c'])>>> a ^ b # letters in a or b but not bothset(['r', 'd', 'b', 'm', 'z', 'l'])

4、终于轮到字典了>>> 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']>>> tel.has_key('guido')

True###链表中存储关键字-值对元组的话,字典可以从中直接构造。关键字-值对来自一个模式时,可以用链表推导式简单的表达关键字-值链表。>>> dict([('sape', 4139), ('guido', 4127), ('jack', 4098)])

{'sape': 4139, 'jack': 4098, 'guido': 4127}>>> dict([(x, x**2) for x in vec]) # use a list comprehension{2: 4, 4: 16, 6: 36}

python 链表推导式_五--python之数据结构(Data Structures)相关推荐

  1. python 链表推导式 xx for xx in yy

    如下: unq_objnames = [l.strip() for l in open('labels.txt').readlines()] 这种形如  xx for  xx in yy 的形式就是链 ...

  2. python列表推导式_聊一聊:python的各种推导式(列表推导式、字典推导式、集合推导式)...

    作者:苍松 原文:https://www.cnblogs.com/tkqasn/p/5977653.html 推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可 ...

  3. 百钱买百鸡python列表推导式_课时60 数据类型详解-列表-练习题

    练习题 1.使用列表推导式把字典中的键值对转换成key=value的数据格式 ''' 字典{'user':'admin','age':20,'phone':'133'} 列表{'user=admin' ...

  4. python链表实现栈_使用python实现数组、链表、队列、栈

    引言 什么是数据结构? 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成. 简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中. 比如:列表,集合和字 ...

  5. Python 字典推导式 - Python零基础入门教程

    目录 一.Python 字典推导式简介 二.Python 字典推导式语法 三.Python 字典推导式实战 1.在字典中提取或者修改数据,返回新的字典 2.在字符串中提取数据,返回新的字典 四.重点总 ...

  6. Python 列表推导式 - Python零基础入门教程

    目录 一.Python 列表推导式简介 二.Python 列表推导式语法 三.Python 列表推导式练习 1.Python 列表推导式案例一 2.Python 列表推导式案例二 3.Python 列 ...

  7. Python 条件推导式 - Python零基础入门教程

    目录 一.Python 条件推导式简介 二.Python 条件推导式使用 1.Python 条件推导式语法 2.Python 条件推导式练习 三.猜你喜欢 零基础 Python 学习路线推荐 : Py ...

  8. 【Python学习】 - - 链表推导式[ 2*x for x in X ]、匿名函数、并行迭代

    列表推导式[x for x in range(n)] 问题:请计算出1~9间的整数的平方 常规方法 for i in range(1,10):print(i*i) 链表推导式: print([x*x ...

  9. python中的字典推导式_17.python 字典推导式(经典代码)

    在昨天的文章中,我们介绍了关于** python列表推导式** 的使用,字典推导式使用方法其实也类似,也是通过循环和条件判断表达式配合使用,不同的是字典推导式返回值是一个字典,所以整个表达式需要写在{ ...

最新文章

  1. Vue.js slots: 为什么你需要它们?
  2. python在windows下import其他模块的注意事项
  3. python广告刷量_Python一日一练05----怒刷点击量
  4. 为什么有如此多的python版本
  5. 我们计划招收300名电力人,免费学习CAD。
  6. bootstrap -- 一个标签中,同时有 col-xs , col-sm , col-md , col-lg
  7. MySQL主从虚IP_Mysql主从同步时Slave_IO_Running:Connecting ; Slave_SQL_Running:Yes的情况故障排除...
  8. 朴素贝叶斯分类器(Naive Bayes Classifiers)
  9. JAVA笔记:Java常用类库
  10. cad字体渐变_[AI10]透明渐变得问题 字体命令的一个变 pantone色系 AutoCAD2006中文版...
  11. 记录——《C Primer Plus (第五版)》第七章编程练习第八题
  12. 迎建国七十周年,Linux厂商巡礼之优麒麟
  13. 统计占比_Excel数据透视表:统计各项所占百分比
  14. phpstudy搭建渗透测试环境
  15. 结合聚酞菁钴催化材料和碳纳米管载体的有机-无机相结合的复合材料
  16. 服务器文件怎么清理,文件传输服务器怎么清理内存
  17. 【朋友刀刀画展一游】谢谢刀刀!
  18. #pragma comment
  19. 关于Dve C++——[Warning] pointer to a function used inarithmetic
  20. 【前端用法】html5实现地理位置定位(JS获取当前地理位置的方法)

热门文章

  1. parkAndCheckInterrupt
  2. finishBeanFactoryInitialization 处理预实例化Bean
  3. 经典的X/OpenDTP事务模型
  4. TCP/IP的分层管理
  5. es6语法-对象拓展运算符
  6. Oracle之索引和索引碎片问题解决
  7. Spring+ActiveMQ+Mysql 配置JMS
  8. dell电脑重装linux系统,重装系统出现问题,如何解决?
  9. Spring Cloud Gateway 源码解析(2) —— 路由
  10. Lambda表达式的基础知识