type() #检查变量或值得数据类型

>>> type(5)
<class 'int'>

序列:包括字符串、元组和列表。序列都可以用索引、切片、len()(计算元素个数)、x in s 判断s中是否包含x

元组: 不可变,如果修改需要大量的复制,即彻底重新赋值

空元组: ()

单个元素的元组: (x,)  #注意一定要有','

多个元素的元组: (x, y, z) 或 (x, y, z,) #最后的','可有可无

>>> item = (6, 'apple', (1,2))
>>> item
(6, 'apple', (1, 2))
>>> item[0]
6
>>> item[-1]
(1, 2)
>>> item[-1][0]
1
>>> item = ()
>>> type(item)
<class 'tuple'>
>>> item = (5)
>>> type(item)
<class 'int'>
>>> item = (5,)
>>> type(item)
<class 'tuple'>

删除元组的第一个元素

>>> item = (1,2,3,4,5)
>>> item2 = item[1:]
>>> item = item2
>>> item
(2, 3, 4, 5)

元组相关函数:

x in tup #x是否在元组内

len(tup) #元组中的元素数

tup.count(x) #元素x在元组中出现的次数

tup.index(x) #元组中第一个x的索引,如没有则出错

+*  #拼接

>>> item
(2, 3, 4, 5)
>>> item*2
(2, 3, 4, 5, 2, 3, 4, 5)
>>> item + (1,2,3)
(2, 3, 4, 5, 1, 2, 3)

列表:可以改变,用[]括起,单元素的末尾不一定要','

>>> numbers = [1,2,3,4,5,6,7]
>>> numbers
[1, 2, 3, 4, 5, 6, 7]
>>> type(numbers)
<class 'list'>
>>> numbers * 2
[1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7]
>>> numbers[1:]
[2, 3, 4, 5, 6, 7]
>>> numbers[-3:]
[5, 6, 7]
>>> numbers[0]=100
>>> numbers
[100, 2, 3, 4, 5, 6, 7]

列表元素指向相应的值,而不是包含。用自引用说明:

>>> numbers
[100, 2, 3, 4, 5, 6, 7]
>>> numbers[0] = numbers
>>> numbers
[[...], 2, 3, 4, 5, 6, 7]

列表的相关函数:

s.append(x) #在列表s末尾添加元素x

#numnote.py
def numnote(lst):
msg = []
for num in lst:
if num < 0:
s = str(num) + 'is negative'
elif 0 <= num <= 9:
s = str(num) + 'is digit'
else:
break
msg.append(s)
return msg
>>> import numnote
>>> numnote.numnote([1,-1,2,22])
['1is digit', '-1is negative', '2is digit']

若要逐行打印

>>> for msg in numnote([1,2,3,10]):
print(msg) 1is digit
2is digit
3is digit
>>> print('\n'.join(numnote([1,2,3,10])))
1is digit
2is digit
3is digit

s.extend() #在末尾添加一个序列

>>> lst = []
>>> lst.extend('cat')
>>> lst
['c', 'a', 't']

s.pop(i) #删除并返回索引为i的元素,默认删除最后一个

>>> lst
['c', 'a', 't']
>>> lst.pop()
't'
>>> lst.pop(0)
'c'
>>> lst
['a']

s.remove(x) #删除s中的第一个x元素,但不返回值

>>> lst
['a', 'h', 'e', 'l', 'l', 'o', ',', 'e', 'v', 'e', 'r', 'y', 'o', 'n', 'e']
>>> lst.remove('e')
>>> lst
['a', 'h', 'l', 'l', 'o', ',', 'e', 'v', 'e', 'r', 'y', 'o', 'n', 'e']

s.reverse() #反转列表元素

>>> lst
['a', 'h', 'l', 'l', 'o', ',', 'e', 'v', 'e', 'r', 'y', 'o', 'n', 'e']
>>> lst.reverse()
>>> lst
['e', 'n', 'o', 'y', 'r', 'e', 'v', 'e', ',', 'o', 'l', 'l', 'h', 'a']

s.sort() #对元素排序 从小到大 要从大到小排序在调用一次reverse就可以了 也可以对列表中的元组排序

>>> lst
['e', 'n', 'o', 'y', 'r', 'e', 'v', 'e', ',', 'o', 'l', 'l', 'h', 'a']
>>> lst.sort()
>>> lst
[',', 'a', 'e', 'e', 'e', 'h', 'l', 'l', 'n', 'o', 'o', 'r', 'v', 'y']
>>> lst.reverse()
>>> lst
['y', 'v', 'r', 'o', 'o', 'n', 'l', 'l', 'h', 'e', 'e', 'e', 'a', ',']
>>> lst = [(1,2),(1,-1),(2,)]
>>> lst
[(1, 2), (1, -1), (2,)]
>>> lst.sort()
>>> lst
[(1, -1), (1, 2), (2,)]

列表解析:用于快速创建列表

>>> [n*n for n in range(1,11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> [n*n for n in range(1,11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> [2*n**3+4 for n in range(1,11)]
[6, 20, 58, 132, 254, 436, 690, 1028, 1462, 2004]
>>> [c for c in 'pizza']
['p', 'i', 'z', 'z', 'a']
>>> [c.upper() for c in 'pizza']
['P', 'I', 'Z', 'Z', 'A']

使用解析进行筛选:

>>> nums = [-1,0,6,-4,2,5]
>>> result = [n for n in nums if n > 0]
>>> result
[6, 2, 5]

删掉元音

>>> ''.join([c for c in 'Apple' if c.lower() not in 'aeiou'])
'ppl'

不要方括号也可以,将得到生成器表达式

>>> ''.join(c for c in 'Apple' if c.lower() not in 'aeiou')
'ppl'

字典:也称关联数组、映射或散列表 用{}表示

可以利用来访问,键不可重复不可修改  下面的'red'就是键,2是值

>>> color = {'red':2, 'blue':1, 'green':3}
>>> color['red']
2
>>> color['blue']=0
>>> color
{'green': 3, 'blue': 0, 'red': 2}

相关函数

items 、 keys、 values、 get、pop、 popitem、 clear、 copy 、fromkeys 、setdefault、 update

#视图
>>> k = color.keys()
>>> for i in k:print(i) green
blue
red

集合:只包含键,没有相关联的值

删除列表中重复的元素

>>> lst = [1,1,2,2,3,3,3]
>>> lst
[1, 1, 2, 2, 3, 3, 3]
>>> s = set(lst)
>>> s
{1, 2, 3}

【python】入门学习(六)的更多相关文章

  1. python入门学习:9.文件和异常

    python入门学习:9.文件和异常 关键点:文件.异常 9.1 从文件中读取数据9.2 写入文件9.3 异常9.4 存储数据 9.1 从文件中读取数据 9.1.1 读取整个文件  首先创建一个pi_ ...

  2. python入门学习:8.类

    python入门学习:8.类 关键点:类 8.1 创建和使用类8.2 使用类和实例8.3 继承8.4 导入类 8.1 创建和使用类   面向对象编程是最有效的软件编写方法之一.在面向对象编程中,你编写 ...

  3. python入门学习:7.函数

    python入门学习:7.函数 关键点:函数 7.1 定义函数7.2 传递实参7.3 返回值7.4 传递列表7.5 传递任意数量的实参7.6 将函数存储在模块中 7.1 定义函数   使用关键字def ...

  4. python入门学习:6.用户输入和while循环

    python入门学习:6.用户输入和while循环 关键点:输入.while循环 6.1 函数input()工作原理6.2 while循环简介6.3 使用while循环处理字典和列表 6.1 函数in ...

  5. python入门学习:5.字典

    python入门学习:5.字典 关键点:字典 5.1 使用字典5.2 遍历字典5.3 嵌套 5.1 使用字典   在python中字典是一系列键-值对.每个键都和一个值关联,你可以使用键来访问与之相关 ...

  6. python入门学习:4.if语句

    python入门学习:4.if语句 关键点:判断 4.1 一个简单的测试4.2 条件测试4.3 if语句 4.1 一个简单的测试   if语句基本格式如下,注意不要漏了冒号 1if 条件 :2     ...

  7. python入门学习:3.操作列表

    python入门学习:3.操作列表 关键点:列表 3.1 遍历整个列表3.2 创建数值列表3.3 使用列表3.4 元组 3.1 遍历整个列表   循环这种概念很重要,因为它是计算机自动完成重复工作的常 ...

  8. python入门学习:2.列表简介

    python入门学习:2.列表简介 关键点:列表 2.1 列表是什么2.2 修改.添加和删除元素2.3 组织列表 2.1 列表是什么   列表,是由一系列按特定顺序排列的元素组成.你可以创建包含字母表 ...

  9. Python入门学习:1.变量和简单的数据类型

    python入门学习:1.变量和简单的数据类型 关键点:变量.字符串.数字 1.1 变量的命名和使用1.2 字符串1.3 数字1.4 注释 1.1 变量的命名和使用   变量,顾名思义是一个可变的量, ...

  10. Python入门学习之路,怎么 “开心,高效,踏实” 地把Python学好?兴趣,兴趣,兴趣!

    Python入门学习之路,怎么 “开心,高效,踏实” 地把Python学好?兴趣,兴趣,兴趣!找到你自己感兴趣的点进行切入,并找到兴趣点进行自我驱动是最好的学习方式!       推荐两本书,一本作为 ...

随机推荐

  1. 【codevs1380】没有上司的舞会

    题目描述 Ural大学有N个职员,编号为1~N.他们有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.每个职员有一个快乐指数.现在有个周年庆宴会,要求与会职员的快乐指数 ...

  2. oracle数据库启动

    遇到个白痴问题,放假停电,回来时启动数据库,发现无法进入oracle管理员界面. 如下输入,但是显示的命令无效. [oracle@crm001 database]$ sqlplus / as sysd ...

  3. PHP团队 编码规范 & 代码样式风格规范

    一.基本约定 1.源文件 (1).纯PHP代码源文件只使用 <?php 标签,省略关闭标签 ?> : (2).源文件中PHP代码的编码格式必须是无BOM的UTF-8格式: (3).使用 U ...

  4. mongodb university week4

    1.index Creation,background 如果在foreground运行index,会阻塞其他writer,如果background运行,会比较慢,但不会阻塞其他writer,可以并发写 ...

  5. 原生js实现简单打字机效果

    快过年了,公司基本没活,闲着也是闲着,就写了一个 打字机效果玩玩,感觉挺有意思的. 具体代码 请参见我的github,请戳这里 预览效果,请戳这里

  6. android常见问题(一)

    一:文本的颜色选择器: 在res目录下面创建color文件夹,在color文件夹下面创建font_style_colors.xml文件<?xml version="1.0" ...

  7. iOS开发——高级篇——UIDynamic 物理引擎

    一.UIDynamic 1.简介什么是UIDynamicUIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象重力.弹性碰撞 ...

  8. [Asp.net MVC]Asp.net MVC5系列——添加视图

    目录 系列文章 概述 添加视图 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 概述 在这一部分我们添加一个新的控制器HelloWorldController类, ...

  9. 移动端压缩并ajax上传图片解决方案

    1.需求 做一个前端可压缩并且上传图片到后台的功能 2.使用组件 用到的主要是jq和LocalResizeIMG这2个库 3.使用方法 a.引入脚本文件 <script type='text/j ...

  10. iOS 开发笔记 -- 各种细枝末节的知识(水滴石穿)

    在此总结整理,遇到的各种的小问题: 1.通过从字典(数组)中取出的NSString的length==0 作为if的判断条件导致的carsh: 由于在字典中通过Key取出值之后直接做了length相关操 ...