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()		# 字符串 ——> 列表 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部