神奇的python系列4:python基础数据类型二(列表)

第一步 列表

 列表是python的基础数据类型之一,列表相比于字符串,不仅可以存放不同的数据类型.而且可以存放大量的数据.

lst = [1,2,3]   # 存储一些数据,数据量比较大
print(lst)

list 列表是python的关键字。列表和字符串一样有下标(索引),切片,步长

lst = ['hello',1,2,3,False]
lst[0] = '我怎么这么可爱'      
print(lst)

同时还要补充一点字符串是不可变数据类型。

第二步 列表增删改查

增加的方法:

1.追加

lst.append('牛爱花')   # 追加  在末尾的位置加一个
print(lst)

2.插入

lst.insert(3,'包夜')   # 插入  第一个要插入的位置下标,第二个是要插入的内容
print(lst)

3.迭代添加

lst.extend([1,2,3])   #迭代添加  整型和布尔值不能迭代
print(lst)

4.列表合并

lst1 = [1,2,3]
lst2 = [4,5,6]
lst3 = lst1 + lst2   # 列表合并  开辟了一块空间
print(lst1)
print(lst2)
print(lst3)

删除的方法:

1.删除整个列表

del lst          #删除整个列表
print(lst)

2.通过下标删除

del lst[-1]   # 配合下标删除
print(lst)

3.通过切片删除

del lst[0:2]   # 配合切片删除
print(lst)
lst = ['杨紫','高圆圆','刘亦菲','关晓彤']  
del lst[0:3:2]         #配合切片+步长删除
print(lst)

4.pop()删除

lst.pop()  # 没有指定时,默认删除最后一个
print(lst)
ret = lst.pop(0)   #可以指定下标删除   具有返回值
print(lst)
print(ret)    # 返回被删除的内容

5.remove()删除

lst.remove('高圆圆')   # 通过内容删除
print(lst)

6.clear()删除

lst.clear()   #清空
print(lst)

修改的方法:

1.通过下标修改

lst[0] = '杨幂'   # 通过下标修改    **重要**
print(lst)

2.通过切片修改

lst[0:3] = '你好美'       **重要**
print(lst)  # 结果 ['你', '好', '美', '关晓彤']

lst[0:3] = '你好'  #通过切片修改
print(lst)  # ['你','好','','关晓彤']

3.通过切片+步长修改

lst = ['杨紫','高圆圆','刘亦菲','关晓彤']
lst[0:4:2] = '好嗨'  # 切片+步长 长度要统一
print(lst)

查询的方法

# for 循环
lst = ['杨紫','高圆圆','刘亦菲','关晓彤']
for i in ['杨紫','高圆圆','刘亦菲','关晓彤']:
     print(i)

列表的其他方法:

1.index()通过内容找下标

ret = lst.index('高圆圆')  # 通过内容查找下标
print(ret)

2.count()统计

print(lst.count('高圆圆'))  # 计数

3.reverse()翻转

lst.reverse()
print(lst)

4.sort()排序

lst.sort()   # 排序     默认升序
print(lst)
lst.sort(reverse=True)  # 降序
print(lst)

第三步 列表嵌套

采用降维操作,一层一层的看就好

lst = ['alex','wusir','女神','日天',['于超','吴超','必胜客',['江毅','肖峰']]]
print(lst[4][3][0])

嵌套列表的一些方法:

lst[-1][-1][0] = '雪碧'   #修改
lst[-2] = '香皂'

lst[2] = lst[2].upper()  #全部改大写
lst[1] = 'JJ'
print(lst)

lst = ['汪峰','jj','tt','统一','机油',3534,['日天',['海飞丝','飘柔','霸王','',['沙宣']]]]
# lst[-1][0] = lst[-1][0].replace('天','地')
print(lst)

第四步 元组

元组(tuple),元祖是不可变数据,不能进行修改,但是时有序的,是python的基本数据类型之一,用小括号括起来,里面可以放任何数据类型的数据,查询可以,循环也可以,切片也可以.但就是不能改。

tu = (1,2,3,4,'你好啊',False)
# print(tu[2:5])   # 元祖切片结果也是元祖
# print(tu[:5:2])   #切片 + 步长

tu = list(tu)  #转换成列表
print(tu)
tu = ()    #面试题
print(type(tu))   #什么都不填的话就是tuple类型
lst = []                 #什么都不填的话就是列表类型
print(type(lst))

第五步 range(范围)

 range 第一个元素是起始位置,第二个是终止位置,第三个是步长

range(0,10)     # 0 起始位置 ,10 终止位置
for i in range(1,100,2):    # 可以让for循环来循环数字
     print(i)

lst = [1,2,3,4]
print(5*lst)
# 面试题:
print(range(0,10))   # python3 中range(0, 10)  是一个可迭代对象
print(list(range(1,10,3)))   #类型是列表

python2中的xrange和python3中的range是一样的,都是可迭代对象

prthon2中的range是获取到一个列表

原文地址:https://www.cnblogs.com/xianyuwangzhe/p/10209774.html