Python学习(十八)——list tuple namedtuple
来源:互联网 发布:kbengine java 编辑:程序博客网 时间:2024/06/11 18:43
list
list是一种有序的集合,可随时添加删除其中的元素。
>>> name=['Jack','Tom','Sunny']>>> name['Jack', 'Tom', 'Sunny']>>> number=[00,01,02,03]>>> number[0, 1, 2, 3]
1. list中的元素索引从0开始,-1、-2、-3表示倒数第1、2、3个元素:
>>> name=['Jack','Tom','Sunny']>>> name[0]'Jack'>>> name[-2]'Tom'>>> name[2]'Sunny'
2. list内的元素的数据类型可以不同,也可以是另一个list:
>>> l=[1,2,3,'abc',[1,2,'xyz']]>>> len(l)5
可将l看做二维数组l[4][2]
>>> x=[1,2,'xyz']>>> l=[1,2,3,'abc',x]>>> x[2]'xyz'>>> l[4][1, 2, 'xyz']>>> l[4][2]'xyz'
3. 在list末尾添加元素,用append():
>>> name=['Jack','Tom','Sunny']>>> name.append('Eva')>>> name['Jack', 'Tom', 'Sunny', 'Eva']
4. count()统计某个元素在列表中出现的次数:
name=['Jack','Tom','Sunny']>>> print name.count('Jack')1
5. extend()在列表末尾一次性追加另一个序列中的多个值:
>>> name=['Jack','Tom','Sunny']>>> number=[00,01,02,03]>>> name.extend(number)>>> print name['Jack', 'Tom', 'Sunny', 0, 1, 2, 3]
注意与append()的区别:
>>> name=['Jack','Tom','Sunny']>>> number=[00,01,02,03]>>> name.append(number)>>> print name['Jack', 'Tom', 'Sunny', [0, 1, 2, 3]]
6. 在list内将元素插入到指定位置,用insert():
>>> name=['Jack','Tom','Sunny']>>> name.insert(2,'Eva')>>> name['Jack', 'Tom', 'Eva', 'Sunny']
注意逆序时插入位置:
>>> name=['Jack','Tom','Sunny']>>> name.insert(-1,'Eva')>>> name['Jack', 'Tom', 'Eva', 'Sunny']>>> name.insert(-2,'Bob')>>> name['Jack', 'Tom', 'Bob', 'Eva', 'Sunny']
7. 用len()函数可获得list元素个数,当list为空即没有一个元素时,长度为0:
>>> len(number)4
8. 将list末尾元素删除,用pop():
>>> name=['Jack','Tom','Sunny']>>> name.pop()'Sunny'>>> name['Jack', 'Tom']
9. 将list内指定元素删除,用pop(i):
>>> name=['Jack','Tom','Sunny']>>> name.pop(1)'Tom'>>> name['Jack', 'Sunny']
>>> name=['Jack','Tom','Sunny']>>> name.pop(-1)'Sunny'>>> name['Jack', 'Tom']
10. list[::-1]将list取逆序
a = range(8)b = ['a','b','c','d']print a[::-1]print b[::-1]
输出:
[7, 6, 5, 4, 3, 2, 1, 0]['d', 'c', 'b', 'a']
7 tuple
与list相似,但初始化后不能修改。空的tuple可写成();
>>> name=('Jack','Tom','Sunny')>>> name('Jack', 'Tom', 'Sunny')>>> name[0]'Jack'>>> name[-1]'Sunny'
只有一个元素的tuple必须加一个逗号,以区分数学公式中的()
>>> x=(5)>>> x5>>> x=(5,)>>> x(5,)
利用tuple可以直接交换变量的值:
>>> a=1.2>>> b=3.4>>> (a,b)=(b,a)>>> print a,b3.4 1.2
tuple[::-1]--tuple取逆序:
b = ('a','b','c','d')print b[::-1]
输出:
('d', 'c', 'b', 'a')
namedtuple
示例:
from collections import namedtuplestu = namedtuple('Student','name ID gender age')print type(stu)Ann = stu(name='Ann', ID=20170101, gender='female', age=73)Jake = stu(name='Jake', ID=20170102, gender='male', age=84)print 'Ann:',Annprint 'Jake`s age:',Jake.age
输出:
<type 'type'>Ann: Student(name='Ann', ID=20170101, gender='female', age=73)Jake`s age: 84
’student’是这个namedtuple的名称,后面的’name ID gender’这个字符串中三个用空格隔开的字符是这个namedtuple的三个元素,分别名为name,ID和gender.
namedtuple使用时类似于Python中的类对象.
注意事项:
1.名称不能使用Python的关键字.
2.不能有重复的元素名称.
解决办法:
将namedtuple的重命名模式打开,这样如果遇到Python关键字或者有重复元素名时,自动进行重命名.
from collections import namedtuplestu = namedtuple('Student','name ID gender age def', rename=True)print stu._fields
输出:
('name', 'ID', 'gender', 'age', '_4')
知道重命名后的元素名后就可以正常使用了.
Ann = stu(name='Ann', ID=20170101, gender='female', age=73, _4=2)print Ann
输出:
Student(name='Ann', ID=20170101, gender='female', age=73, _4=2)
阅读全文
0 0
- Python学习(十八)——list tuple namedtuple
- python学习笔记(2)——list&tuple
- python学习——namedtuple方法
- Python-List&Tuple学习
- Python学习记录——Python tuple、list、dict
- Python学习笔记——list和tuple
- python学习——使用list和tuple
- 【Python】学习笔记——-2.3、使用List和Tuple
- python基础学习之——使用list和tuple
- Python学习_3——>list和tuple
- Python学习笔记—使用list和tuple
- Python学习笔记(二)—列表(list)和数组(tuple)类型
- Python的list,tuple学习
- Python学习-list 和 tuple
- Python入门——list与tuple
- python学习——tuple
- python学习(3)python基础、使用list和tuple
- python 学习记录(8)-tuple/list/dictionary/sequence
- js Date对象的深入理解
- #define中宏定义中的空格
- Common Subexpression Elimination UVA
- java--正则表达式
- 取整函数的性质
- Python学习(十八)——list tuple namedtuple
- 对象的notify方法的含义和对象锁释放的三种情况
- Tomcat部署web项目,如何直接通过域名访问,不加项目名称
- Python 直接赋值、浅拷贝和深度拷贝解析
- 合并石子(求最小代价)
- JavaIOUtils
- msgbuf实现mtext[1]可变长代码
- 十进制转二进制
- 自定义开源控件的绘制实例-——价格区间图