【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学好?兴趣,兴趣,兴趣!找到你自己感兴趣的点进行切入,并找到兴趣点进行自我驱动是最好的学习方式! 推荐两本书,一本作为 ...
随机推荐
- JS,html压缩及混淆工具
现在已经出现了不少有自己特色的: JSMin Javascript compressor Packer Closure Compiler YUI Compressor Pretty Diff Java ...
- [译]git reflog
用法 git reflog 显示整个本地仓储的commit, 包括所有branch的commit, 甚至包括已经撤销的commit, 只要HEAD发生了变化, 就会在reflog里面看得到. git ...
- 【C++】递增递减操作符与指针的关系
可以将递增与递减操作符用于指针和基本变量,将递增操作符用于指针时,将把指针的值增加其指向的数据类型占用的字节数,这种规则适用于对指针递增和递减. int arr[5] = {21,32,23,45,3 ...
- 外网主机访问虚拟机下的web服务器(NAT端口转发)
主机:系统win7,ip地址172.18.186.210 虚拟机:VMware Workstation 7,虚拟机下安装了Centos操作系统,ip地址是192.168.202.128,部署了LAMP ...
- qt 的简介与使用
1.图形类的构造,都是通过类的构造函数以及界面初始化这两部分 2.在qtcreator的界面编辑器通过“提升类”的方法,要确定头文件的路径是否正确 3.点击窗口关闭时,销毁窗口内容时,设置属性-> ...
- 计算字符数组长度,用strlen 与 sizeof 的原理与区别
遇到个坑,定义了一个字符数组 unsigned ;i<;i++) { buff[i] = ; } 然后用串口发送函数: write(fd, buff, strlen(buff)); 却发现串口一 ...
- ORACLE 数据库建了非法表后无法操作和删除问题
问题描述: oracle 用PL/SQL DEVELOPER 可视化建表时,表名没有按照规范,建立一个非法格式的表 ICD-10th-Version (中间有横杆,非法).但是不知道怎么回事却建成功了 ...
- 【转】关于URL编码/javascript/js url 编码/url的三个js编码函数
来源:http://www.cnblogs.com/huzi007/p/4174519.html 关于URL编码/javascript/js url 编码/url的三个js编码函数escape(),e ...
- Java开源安全框架之Apache Shiro
APACHE SHIRO安全框架 1 背景 Shiro项目始于2003年初,当时它叫JSecurity项目,当时对于Java应用开发人员没有太多的安全替代方案,始终被一个叫JAAS(Java ...
- 我的Java书单之优秀的入门书
我始终相信,学习任何一门新技术,该技术相关的优秀书籍总是最好的资料.当然了,优秀的视频教程能帮组你快速地了解该技术,但是要深入和系统地去学习该技术,好的书籍就显得尤为重要了.结合我自己学习java的经 ...