今日学习,巩固了list的基本用法
1.列表是什么
列表是一种数据结构,它可以将一些对象存储起来。因此,根据在python中万物皆为对象的原则,可以知道,在list中的可以放置:整型,浮点数,字符串,列表,元组,函数,类等这些对象。>>> b = [1,'2',False]
>>> b[2]
False
>>> def f(x):
return x+1
>>> b.append(f(1))
>>> b[3]
2
>>> b.append(f)
>>> b[4]
<function f at 0x0000019BFD683DC0>
>>> class C1:
c='类'
>>> b.append(C1)
>>> b[5]
<class '__main__.C1'>
>>> print(b)
[1, '2', False, 2, <function f at 0x0000019BFD683DC0>, <class '__main__.C1'>]
2.如何创建
直接用[]
3 如何访问
直接list名字加[index]就好了,比如b[3],在c中已经学过了。直接访问最后一个使用b[len(b)-1]
指的注意的是可以使用负号索引,比如b[-1]这是逆序的——顺序index从0开始,逆序从-1开始。个人觉得一般用的不是很多,可能在放在最后几个的时候用得到,或者是特殊的用法(比如排序)
还有就是切片的访问:b[:],这个也没啥好说的,注意得到的切片是深复制
>>> b[0:3]
[1, '2', False]
>>> id(b[0:3])
1769483346112
>>> b[0:3][0]
1
>>> id(b[0])
140724897289888
>>> id( b[0:3][0])
140724897289888
4 如何编辑
直接编辑元素就可以了——赋值运算一样>>> b[0]=100
>>> b
[100, '2', False, 2, <function f at 0x0000019BFD683DC0>, <class '__main__.C1'>]
再一个就是进行添加:使用list.append()将单个对象作为一个元素添加>>> b.append(['boy','girl'])
>>> b
[100, '2', False, 2, <function f at 0x0000019BFD683DC0>, <class '__main__.C1'>, ['boy', 'girl']]
使用list.extend()来扩展——上面可以认为是吞并,这个可以认为是合并>>> b.extend([999,666])
>>> b
[100, '2', False, 2, <function f at 0x0000019BFD683DC0>, <class '__main__.C1'>, ['boy', 'girl'], 999, 666]
以及还有一个是list.insert(),这个和append很类似。前者是直接增加到末尾,而insert还要加上索引。并且,他们的共同点都是将传入的要添加的东西作为一个整体吞并了——也即为append实际上是insert(len(list),element)>>> b
[100, '2', ['bag', 'dog'], False, 2, <function f at 0x0000019BFD683DC0>, <class '__main__.C1'>, ['boy', 'girl'], 999, 'last', 666]
>>> len(b)
11
>>> b.insert(len(b),'the last')
>>> b
[100, '2', ['bag', 'dog'], False, 2, <function f at 0x0000019BFD683DC0>, <class '__main__.C1'>, ['boy', 'girl'], 999, 'last', 666, 'the last']
|