python基础学习笔记四
python基础学习笔记四
文章目录
- python基础学习笔记四
- 列表详解
- 一、列表的索引和切片
- 1、索引
- 2、切片
- 二、列表的增删改查
- 1、增加
- 2、删除
- 3、修改
- 4、查找
- 5、列表排序
- 6、通过list(列表)创建dict(字典)
- 三、列表嵌套
- 四、元组和元组的嵌套 (不可变的列表.又被成为只读列表)
- 五、range
- 六、类型转换
列表详解
一、列表的索引和切片
1、索引
lst = ['1','2','3','4','5']
print(lst[0]) # 从0开始排序 取列表第0个元素 ['1']
lst[3] = '111'
print(lst) # 直接替换第三个元素 ['1', '2', '3', '111', '5']
2、切片
print(lst[0:3]) #['1', '2', '3']
print(lst[:3]) #['1', '2', '3']
print(lst[::2]) #从头到尾(0开始)每隔两个取一个 ['1', '3', '5']
print(lst[::-1]) #倒着取所有元素 ['5', '111', '3', '2', '1']
print(lst[-1:-3:-2]) # 倒着带步⻓长 ['5']
二、列表的增删改查
1、增加
lst1 = ["1", "2", "3", "4"]
lst1.append('111') # 只能添加一个元素,默认加在最后一位
print(lst1) # ['1', '2', '3', '4', '111']
lst1.insert(1,'555') # 在索引1的位置插入555. 原来的元素向后移动一位
print(lst1) # ['1', '555', '2', '3', '4', '111']
lst1.extend(['五月天','陈信宏']) # 迭代添加元素,默认添加在最后
print(lst1) # ['1', '555', '2', '3', '4', '111', '五月天', '陈信宏']
2、删除
lst1 = ['1', '555', '2', '3', '4', '111', '五月天', '陈信宏']
lst1.pop() # 删除元素,默认删除最后一个
print(lst1) # ['1', '555', '2', '3', '4', '111', '五月天']
lst1.remove('111') # 删除指定元素,删除不存在的元素会报错
print(lst1) # ['1', '555', '2', '3', '4', '五月天']
del lst1[1:4] # 切片删除 从一到四取一不取四
print(lst1) # ['1', '4', '五月天']
lst1.clear() # 清空列表
print(lst1) # []# 清空列表其他方式
lst = ["111", "222", "333", "444", "555"] # 准备一个列表
ls = [] # 准备一个空的列表
for i in lst: # 循环取出lst里面的元素ls.append(i) # 取出来的元素加入到ls中 ls = ['111', '222', '333', '444', '555']
for i in ls: # 循环取出lst里面的元素lst.remove(i) # 删除lst中与 i 相同的元素
print(lst) # []lst = ["111", "222", "333", "444", "555"] # 准备一个列表
for i in range(0 , len(lst)): # 循环列表长度len(lst)次lst.pop() # pop()删除列表最后一个元素,循环len(lst)次,删除所有列表元素
print(lst) # []
3、修改
lst2 = ["111", "222", "333", "444", "555"]
lst2[1] = "123" # 把1号元素修改成123
print(lst2) # ['111', '123', '333', '444', '555']
lst2[1:4] = ["234", "哇"] # 切片修改也OK. 如果步长不是1, 要注意修改元素的个数
print(lst2) # ['111', '234', '哇', '555']
4、查找
for el in lst2: # 可迭代,能进行for循环print(el) # el= element(元素)
查询某元素出现的次数
lst3 = ["111", "222", "333", "444", "555","111","111"]
a = lst3.count('111') #a 赋值内容 查询列表3中'111'出现的次数
print(a) # 3
5、列表排序
lst4 = [2,149641,166,61463,86401,164]
lst4.sort() # 给列表中元素sort(排序),默认升序
print(lst4) # [2, 164, 166, 61463, 86401, 149641]
lst4.sort(reverse=True) # 降序
print(lst4) # [149641, 86401, 61463, 166, 164, 2]
lst4.reverse() # 翻转
print(lst4) # [2, 164, 166, 61463, 86401, 149641]
6、通过list(列表)创建dict(字典)
# .formkey()的使用原则:.fromkeys后索引为 0 的元素是key,索引为 1 的元素是value
dic = dict.fromkeys('123' , ['abc','def'])
print(dic) # {'1': ['abc', 'def'], '2': ['abc', 'def'], '3': ['abc', 'def']}
dic = dict.fromkeys(['123','456'],['abc','def'])
print(dic) # {'123': ['abc', 'def'], '456': ['abc', 'def']}
三、列表嵌套
list = [1, "111", "gfhh", ["333", ["234"], "555"]]
print(list[3][1][0]) # 222
print(list[3][1][0][0]) # 2
#添加元素
list[3][1].append('789') # 在列表[3][1]后添加'789'
print(list) # [1, '111', '444', ['333', ['234', '789'], '555']]
#改变元素
a = list[2] # a 赋值 list里的第二个元素gfhh
a = a.capitalize() # a 赋值 gfhh首字母大写
list[2] = a # list里的第二个元素gfhh 替换成a(首字母大写后的gfhh)# list[2] = list[2].capitalize() 同等含义
print(list) # [1, '111', 'Gfhh', ['333', ['234', '789'], '555']]
list[1] = list[1].replace('1','0') # 把1换成0
print(list) # [1, '000', 'Gfhh', ['333', ['234', '789'], '555']]
四、元组和元组的嵌套 (不可变的列表.又被成为只读列表)
tu = (1, "eggre", "erwtretw", "36637yhrdhc", "/*$R^#*%((&^")
print(type(tu)) # <class 'tuple'>
tu1 = (1)
print(type(tu1)) # <class 'int'>
tu2 = (1,)
print(type(tu2)) # <class 'tuple'> # 元组中如果只有1个元素. 一定要添加一个逗号, 否则就不是元组# 关于不可变, 注意: 这里元组的不可变的意思是子元素不可变. 而子元素内部的子元素是可以变, 这取决于子元素是否是可变对象
五、range
for num in range(10): # 遍历默认从0开始,到10结束,不取10print(num) # 0 1 2 3 4 5 6 7 8 9
for num in range(1, 10, 2): # 从1开始,到10结束,不取10 每两个数字取一个print(num) # 1 3 5 7 9
for num in range(10, 1, -2): # 步长为负 倒序 从10开始倒数到1结束,不取1 每两个数字取一个print(num) # 10 8 6 4 2
i = 'holle'
for c in range(3): # 遍历 c 为 0 1 2print(i) # 循环输出 i 共计遍历三次(c=0时,print一遍 c=1时,print一遍 以此类推)
六、类型转换
元组 ——> 列表
list(tuple) # 元组 ——> 列表
tuple(list) # 列表 ——> 元组
str.join(list) # 列表 ——> 字符串
str.split() # 字符串 ——> 列表
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
