|  | 
 
 
 楼主|
发表于 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 如何编辑
 直接编辑元素就可以了——赋值运算一样
 
 再一个就是进行添加:使用list.append()将单个对象作为一个元素添加复制代码>>> b[0]=100
>>> b
[100, '2', False, 2, <function f at 0x0000019BFD683DC0>, <class '__main__.C1'>]
 使用list.extend()来扩展——上面可以认为是吞并,这个可以认为是合并复制代码>>> b.append(['boy','girl'])
>>> b
[100, '2', False, 2, <function f at 0x0000019BFD683DC0>, <class '__main__.C1'>, ['boy', 'girl']]
 以及还有一个是list.insert(),这个和append很类似。前者是直接增加到末尾,而insert还要加上索引。并且,他们的共同点都是将传入的要添加的东西作为一个整体吞并了——也即为append实际上是insert(len(list),element)复制代码>>> b.extend([999,666])
>>> b
[100, '2', False, 2, <function f at 0x0000019BFD683DC0>, <class '__main__.C1'>, ['boy', 'girl'], 999, 666]
 复制代码>>> 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']
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 
 |