【python】入门学习(六)
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】入门学习(六)的更多相关文章
- python入门学习:9.文件和异常
python入门学习:9.文件和异常 关键点:文件.异常 9.1 从文件中读取数据9.2 写入文件9.3 异常9.4 存储数据 9.1 从文件中读取数据 9.1.1 读取整个文件 首先创建一个pi_ ...
- python入门学习:8.类
python入门学习:8.类 关键点:类 8.1 创建和使用类8.2 使用类和实例8.3 继承8.4 导入类 8.1 创建和使用类 面向对象编程是最有效的软件编写方法之一.在面向对象编程中,你编写 ...
- python入门学习:7.函数
python入门学习:7.函数 关键点:函数 7.1 定义函数7.2 传递实参7.3 返回值7.4 传递列表7.5 传递任意数量的实参7.6 将函数存储在模块中 7.1 定义函数 使用关键字def ...
- python入门学习:6.用户输入和while循环
python入门学习:6.用户输入和while循环 关键点:输入.while循环 6.1 函数input()工作原理6.2 while循环简介6.3 使用while循环处理字典和列表 6.1 函数in ...
- python入门学习:5.字典
python入门学习:5.字典 关键点:字典 5.1 使用字典5.2 遍历字典5.3 嵌套 5.1 使用字典 在python中字典是一系列键-值对.每个键都和一个值关联,你可以使用键来访问与之相关 ...
- python入门学习:4.if语句
python入门学习:4.if语句 关键点:判断 4.1 一个简单的测试4.2 条件测试4.3 if语句 4.1 一个简单的测试 if语句基本格式如下,注意不要漏了冒号 1if 条件 :2 ...
- python入门学习:3.操作列表
python入门学习:3.操作列表 关键点:列表 3.1 遍历整个列表3.2 创建数值列表3.3 使用列表3.4 元组 3.1 遍历整个列表 循环这种概念很重要,因为它是计算机自动完成重复工作的常 ...
- python入门学习:2.列表简介
python入门学习:2.列表简介 关键点:列表 2.1 列表是什么2.2 修改.添加和删除元素2.3 组织列表 2.1 列表是什么 列表,是由一系列按特定顺序排列的元素组成.你可以创建包含字母表 ...
- Python入门学习:1.变量和简单的数据类型
python入门学习:1.变量和简单的数据类型 关键点:变量.字符串.数字 1.1 变量的命名和使用1.2 字符串1.3 数字1.4 注释 1.1 变量的命名和使用 变量,顾名思义是一个可变的量, ...
- Python入门学习之路,怎么 “开心,高效,踏实” 地把Python学好?兴趣,兴趣,兴趣!
Python入门学习之路,怎么 “开心,高效,踏实” 地把Python学好?兴趣,兴趣,兴趣!找到你自己感兴趣的点进行切入,并找到兴趣点进行自我驱动是最好的学习方式! 推荐两本书,一本作为 ...
随机推荐
- 【AngularJS】—— 8 自定义指令
AngularJS支持用户自定义标签属性,在不需要使用DOM节点操作的情况下,添加自定义的内容. 前面提到AngularJS的四大特性: 1 MVC 2 模块化 3 指令 4 双向数据绑定 下面将会介 ...
- androids-addjavascriptinterface-equivalent-in-ios
http://stackoverflow.com/questions/7103159/androids-addjavascriptinterface-equivalent-in-ios
- shell简单使用
最近需要用到shell脚本实现关机保护作用,总结下语法 要点: 1.linux下编写的shell脚本不能在window下编写,否则会出现^M的错误,用window编写保存,在linux用vim打开,每 ...
- Redis学习笔记六:独立功能之 Lua 脚本
Redis 2.6 开始支持 Lua 脚本,通过在服务器环境嵌入 Lua 环境,Redis 客户端中可以原子地执行多个 Redis 命令. 使用 eval 命令可以直接对输入的脚本求值: 127.0. ...
- 【转】WordPress转PHPCMS策略-数据库完美转换
来源:http://www.sjyhome.com/php/wp-to-pc-sql.html WordPress的访问速度不可恭维?那就试试能够生成纯静态的PHPCMS,保证能够让你的网页访问速度有 ...
- jQuery学习:用按键移动方块
<!doctype html> <html> <head> <meta charset="utf-8"> <style typ ...
- Android手机的上网功能需要用到APN(网络接入点)的设置 电信
手机apn出问题了,上不网 电信天翼: 我们经常使用的APN有三个,分别是NET网络设置.WAP网络设置和彩信网络设置. 1.NET网络设置 名称:CTNET APN:#777 用户名:ctnet@m ...
- 9 patch png 的上下左右
9 patch png 的上下左右 前言: 9 patch png 图片,扩展名为.9.png,是一个标准的PNG图像,它包括额外的1个像素的边界,通过对这个边界的描述来达到我们预期的拉伸效果.a ...
- javaweb项目中的WEB-INF与META-INF
/WEB-INF 放置web应用程序配置文件.jsp页面.lib包.classes文件等. /META-INF java打jar包时,自动生成的一个文件夹.相当于一个信息包,目录中的文件和目录获得ja ...
- HTML5 localStorage 的使用
在前端开发中,我们会常遇到要在两个甚至多个html之间通信,我们可以在url中添加参数,但是当要传递的数据量较大较多时呢,不妨试试html5 的localStorage吧. 1) 检测你的浏览器是 ...