|

楼主 |
发表于 2021-7-23 22:48:41
|
显示全部楼层
今日学习,巩固了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']
复制代码
|
|