2018-11-30 15:45:55

'''
列表
'''
# list.count(x): 返回x在列表中出现的次数
a1 = [1,123.25,333,333,456.5]
print(a1.count(333),a1.count(123.25),a1.count(4)) # list.inster(i,x): 在索引号为i的元素前插入元素x
a2 =[2,123.25,333,333,456.5]
a2.insert(2,-1)
print('a2:',a2) # #a.insert(len(a),x):在列表的末尾添加x
a3 =[3,123.25,333,333,456.5]
a3.insert(len(a3),222)
print('a3:',a3) # #a.append(x):在列表末尾添加x
a4 =[3,123.25,333,333,456.5]
a4.append(222)
print('a4:',a4) #a.index(x):返回值为x的索引号
a5 =[3,123.25,333,333,456.5]
print('a5:',a5.index(3)) #a.remove(x):移除列表中的元素x
a6 =[3,123.25,333,333,456.5]
a6.remove(3)
print('a6:',a6) #a.reverse():列表中的元素倒排序
a7 =[3,123.25,333,333,456.5]
a7.reverse()
print('a7:',a7) #对列表中的元素进行排序
a8 =[3,123.25,333,333,456.5]
a8.sort()
print('a8:',a8) #list.pop():从列表中移除最后一个元素
a9 =[3,123.25,333,333,456.5]
a9.pop()
print('a9:',a9) #list.pop(i):从列表中移除索引为i的元素
a10 =[3,123.25,333,333,456.5]
a10.pop(1)
print('a10:',a10) '''
将列表当做对堆栈使用
'''
#后进先出
stack = [1,2,3,4,5,6]
stack.append(7)
print(stack)
stack.append(8)
print(stack)
stack.pop()
print(stack)
stack.pop()
print(stack) '''
将列表当作队列使用
'''
from collections import deque
queue = deque(['google','runoob','taobao'])
print('1:',queue)
queue.append('baidu')
queue.append('tianmao')
print('',queue) print(queue.popleft()) #从左边开始弹出,弹出后其他一个一个往前移动
print(queue.popleft()) print('3:',queue) '''
列表推导式
'''
#将列表的值都乘以3后输出
vec1 = [2,4,6]
vec12 = [3*x for x in vec1]
print('1:',vec12) #按要求生成子列表
vec2 = [2,4,6]
vec21 = [[x,x**2] for x in vec2]
print('2:',vec21) #对列表中对每个元素调用某方法
freshfruit = ['apple','banan','orange']
freshfruit1 = [weapon.strip() for weapon in freshfruit]
print('freshfruit1:',freshfruit1) #使用ifz作为过滤器
vec3 = [2,4,6]
vec31 = [3*x for x in vec3 if x >3]
print('vec31:',vec31) vec32 = [3*x for x in vec3 if x <5]
print('vec32:',vec32) #其他一些技巧演示
vec4 = [1,2,3]
vec5 = [4,5,-6]
vec451 = [x*y for x in vec4 for y in vec5]
print('vec451',vec451) vec452 = [x+y for x in vec4 for y in vec5]
print('vec452:',vec452) pass
pass '''
嵌套列表解析
'''
pass #del list[]:通过索引删除列表中的某个元素
d1 = [1,2,3,4,5,6,7]
del d1[0]
print('d1:',d1) #删除对元素个数4-2=2个,从开始对索引开始删除
d2 = [0,1,2,3,4,5,6,7]
del d2[2:4]
print('d2:',d2) #del list[:]:删除列表中对所有元素
d3 = [0,1,2,3,4,5,6,7]
del d3[:]
print('d3:',d3) #del d:删除一个实体变量
# d4 = [0,1,2,3,4,5,6,7]
# del d4
# print('d4:',d4) '''
元组和序列
'''
#元组对输出总是有圆括号对,输入可以有可以没有
t = (123,456,'hello')
print(t[0])
print('t:',t)
u = (t,(78,89,90))
print(u) #元组输入时可以没有圆括号
t1 = 1,2,3
print('t1',t1) '''
集合
'''
basket = {'apple','banana','orange','pear','apple','banana'} #字典的基本功能:消除重复元素
print(basket) #字典的基本功能:关系测试
print('apple' in basket)
print('runoob' in basket) #set():创建集合
a = set('abcdeabc')
b = set('cdefghrr') #集合去重操作
print(a) #在a中但不在b中的
print(a-b) #不同时在a或者b中
print(a^b) #a和b的并集
print(a|b) #a和b的交集
print(a&b) #集合也支持推导式
c = {x for x in a if x not in b}
print(c) '''
字典
'''
#使用{}创建字典
tel = {'jack01':6001,'jack02':6002,'jack03':6003} #向字典中添加元素
tel1 = {'jack01':6001,'jack02':6002,'jack03':6003}
tel1['jack04'] = 6004
print('tel1:',tel1) #del dict[键]:通过键值删除字典中的某个元素
tel2 = {'jack01':6001,'jack02':6002,'jack03':6003}
del tel2['jack01']
print('tel2:',tel2) #打印出字典的键值列表
tel3 = {'jack01':6001,'jack02':6002,'jack03':6003}
print('tel3:',list(tel3.keys())) #打印出字典的键值列表并排序
tel4 = {'jack01':6001,'ajack02':6002,'bjack03':6003}
print('tel4:',sorted(tel4.keys())) #关系测试
tel5 = {'jack01':6001,'ajack02':6002,'bjack03':6003}
print('tel51:','jack01' in tel5)
print('tel52:','jack02' in tel5) #构造函数dict()直接从键值队元=组列表中构建字典
tel6 = dict([('jack01',7001),('jack2',7002),('jack3',7003)])
print(tel6) #字典推导
dict1 = {x:x**2 for x in (2,4,6) }
print(dict1) #如果关键字只是简单对字符串,使用关键字参数指定键值对有时更方便
dict2 = dict(jack01=2001,jack02=2002,jack03=2003)
print(dict2) '''
遍历技巧
'''
#字典中遍历时,关键字和对值可以使用item()遍历出来
knights = {'jack01':'good','jack02':'better','jack03':'best'}
for k,v in knights.items():
print(k,v) #在遍历列表时,索引值和对应值可以使用enumerate()函数同时得到
for k,v in enumerate(['jack01','jack02','jack03']):
print(k,v) #zip()# 遍历两个或更多序列
questions=['name','age','class']
answers=['jack',18,'class1']
for q,a in zip(questions,answers):
print("'what's your{0}? It is {1}".format(q,a)) #反向遍历一个序列用reversed()
for i in reversed(range(1,10,2)):
print('反向遍历:',i) #sorted()按顺序遍历
str1 = ['a','b','d','e']
for i in sorted(str1):
print('sorted():',i)

20-Python3 数据结构的更多相关文章

  1. python系列十一:python3数据结构

    #!/usr/bin/python #Python3 数据结构'''Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能.''' '''将 ...

  2. python016 Python3 数据结构

    Python3 数据结构本章节我们主要结合前面所学的知识点来介绍Python数据结构. 列表Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元 ...

  3. python3数据结构与算法

    python内置的数据结构包括:列表(list).集合(set).字典(dictionary),一般情况下我们可以直接使用这些数据结构,但通常我们还需要考虑比如搜索.排序.排列以及赛选等一些常见的问题 ...

  4. Python3 数据结构

    列表 Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能. 以下是 Python 中列表的方法: 方法 描述 list.append(x ...

  5. Python3数据结构汇总

    字符 列表 元组 集合 字典 能否被索引或切片 能 能 能 否 否 元素能否被编辑 否 能 否 能 能 增 1.list.append(x):把一个元素添加到列表的结尾: 2.list.insert( ...

  6. 吴裕雄--天生自然python学习笔记:Python3 数据结构

    列表 Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能. list.append(x) 把一个元素添加到列表的结尾,相当于 a[len ...

  7. django学习-20.python3中的特殊方法【__str__】的作用

    目录结构 1.前言 2.[__str__]特殊方法的具体使用 2.1.当使用print打印一个类被实例化后生成的对象的时候,若类里有定义了[__str__]特殊方法,是打印出这样的数据:[__str_ ...

  8. Java基础知识强化之集合框架笔记20:数据结构之 栈 和 队列

    1.  栈 先进后出 解析图: 2. 队列 先进先出 解析图:

  9. python3数据结构

    列表 list.append(x) 把一个元素添加到列表的结尾,相当于a[len(a):]=[x] list.extend(L) 将一个给定列表中的所有元素都添加到另一个列表中,相当于a[(len): ...

  10. Python3 数据结构之词频统计(英文)

    import string path = r'C:\Users\Black\Desktop\Walden.txt' with open(path, 'r', encoding='utf-8') as ...

随机推荐

  1. 第八天py

    我发现这个老师讲的太基础只是我懒得跳过而已想慢慢听 列表公共功能 索引 切片 for 长度 特有功能 翻转 排序 追加 插入 索引位置 删除

  2. 设计模式学习--Singleton

    What Singleton:保证一个类仅有一个实例,并提供一个访问它的全局访问点. Why Singletion是我比较熟悉的设计模式之一,在平常的开发过程中,也曾几次用到,它主要适用于如下场景: ...

  3. 简单的Git流程

    一.安装cygwin 略 二. 1.创建一个文件 $echo "中华人民共和国">>abc.txt 2.添加到文件追踪 $git add abc.txt 上一行是提交一 ...

  4. [No0000140]WMI使用的WIN32_类库名

    "SELECT * FROM Win32_NetworkAdapter WHERE (MACAddress IS NOT NULL) AND (NOT (PNPDeviceID LIKE ' ...

  5. notbook1.1

    1)95年创建java语言 2)1.2版本使java具有了生产能力 3)1.8版本增加 新的API lamda 函数式编程1.9 使之模块化 4)java编程的基本套路 1. 编写源代码2. 编译源程 ...

  6. 国庆JAVA作业

    动手动脑1 运行enumtest.java程序我明白了JAVA中枚举类型,s和t不能引用同一个对象.不是原始对象,可以实现从字符串中的转换. 动手动脑2 原码就是符号位加上真值的绝对值, 即用第一位表 ...

  7. python--列表、字典、元组、集合对比

    数据类型# 计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数据类型.# a:整形和浮点型(正数和负数)# b:布尔类型(true,fals ...

  8. zookeeper集群迁移方案

    后来问同事是怎么做的迁移:先启动一套新的集群,然后关闭老的集群,同时在老集群的一个IP:2181起了一个haproxy代理新集群以为这样,可以做到透明迁移=.=,其实是触发了ZK的bug-832导致不 ...

  9. rman checksyntax和解决RMAN-01009: syntax error: found "dot"

    在日常清归档时候执行脚本报错 RMAN-00552: syntax error in command line argumentsRMAN-01009: syntax error: found &qu ...

  10. LeetCode 908 Smallest Range I 解题报告

    题目要求 Given an array A of integers, for each integer A[i] we may choose any x with -K <= x <= K ...