列表
列表初识
列表属于容器性数据类型。
li = [123, '狗', True, [1, 2, 3], {'name': 'Lon'}, (1, 2, 3)]
其中包含有int型,例如123;字符串,例如'狗';bool值,例如True;列表,例如[1,2,3];字典,例如{'name':'Lon'};元组,例如(1,2,3)。
按照索引:
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(l1[0])
结果:

l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(l1[1],type(l1[1]))
结果:

按照切片取值
起始切
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(l1[:3])
结果:

结尾切
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(l1[2:])
结果:

步长切
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(l1[::2])
结果:
增
增加一共有三种方式,分别为__.append()、__.insert()、__.extend()。
append('A')
增加,在列表最后边添加需要添加的内容A,返回值为None。
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(l1.append('女神'))
l1.append('女神') 这条语句只是一个动作,所以无法输出结果,当打印这条代码是,输出的结果为None,结果如下图:

追加字符串
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1.append('女神')
print(l1)
结果:

追加列表
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1.append([1, 2, 1111])
print(l1)
结果:
给一个列表中添加循环添加数据。如下:
name_list = ['wusir', 'alex', 'laonanhai', 'ritian', 'taibai']
while True:
user_name = input('请输入新员工的名字:q或Q退出').strip()
if user_name.upper() == 'Q':
break
name_list.append(user_name)
print('您已经成功添加了%s' % user_name)
print(name_list)
结果:

.insert(Num,A)
插入,在索引为Num的位置插入A。
name_list = ['wusir', 'alex', 'laonanhai', 'ritian', 'taibai']
name_list.insert(1, '哪吒')
print(name_list)
结果:
extend('ABC')
迭代追加,将'ABC'拆分成本最小的单元添加在列表后边。
name_list = ['wusir', 'alex', 'laonanhai', 'ritian', 'taibai']
name_list.extend('abc')
print(name_list)
结果:

当添加的内容为列表时,列表内的字符串不进行拆分,只是拆分列表成列表的最小单元。
name_list = ['wusir', 'alex', 'laonanhai', 'ritian', 'taibai']
name_list.extend([1, 2, 3, 4, 'abc'])
print(name_list)
结果:
删
.pop(Num)
按照索引去删除,有返回值。删除索引号Num对应的元素。
name_list = ['wusir', 'alex', 'laonanhai', 'ritian', 'taibai']
ret = name_list.pop(0)
print(ret)
print(name_list)
结果:

.remove('A')
按照元素去删除,删除元素A。
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1.remove('alex')
print(l1)
结果:

.clear()
清空列表。
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1.clear()
print(l1)
结果:

del
在内存级别删除列表。
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
del l1
print(l1)
结果:

按照索引删除
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
del l1[2]
print(l1)
结果:
切片删除
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
del l1[:-1]
print(l1)
结果:

加步长删除
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
del l1[::2]
print(l1)
结果:

改
按照索引去改
正索引
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1[0] = '肖锋'
print(l1)
结果:

负索引
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1[-1] = '男神'
print(l1)
结果:

按照切片去改,先将切片的区域内的容全部删除,然后迭代着添加内容。
字符串
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1[:3] = '范德萨发给ghfkhgh;'
print(l1)
结果:
列表
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1[:3] = [1111, 2222, 3333, 4444]
print(l1)
结果:

查
按照切片去查
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai'] print(l1[:4])
结果:

for循环
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
for i in l1:
print(i)
结果:

其他操作方法
len(A)
计算A的元素个数。
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
cou = len(l1)
print(cou)
结果:

.count('A')
统计A元素的个数。
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(l1.count('taibai'))
结果:

.index()
通过元素找索引,可以设置起始位置和结束位置。
源码
def index(self, value, start=None, stop=None): # real signature unknown; restored from __doc__ """ L.index(value, [start, [stop]]) -> integer -- return first index of value. Raises ValueError if the value is not present. """ return 0
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai'] print(l1.index('alex', 2))
结果:

.sort()
从小到大,正序排序
l2 = [1, 3, 5, 9, 7, 6, 2, 4] l2.sort() print(l2)
结果:

从大到小,倒序排序
l2 = [1, 3, 5, 9, 7, 6, 2, 4] l2.sort(reverse=True) print(l2)
结果:

.reverse()
翻转
l2 = [1, 3, 5, 9, 7, 6, 2, 4] l2.reverse() print(l2)
结果:

991

被折叠的 条评论
为什么被折叠?



