python

40 阅读3分钟
from collections.abc import Iterable
#列表list 
# -------------------------------------------创建列表-------------------------------------------
list_1 = []
list_2 = ["p",2,["Y","T"],5,{"o"},{"N":3}] li_1 = list("python") #list()函数接收可迭代的数据
li_2 = list(list_2)
# 可迭代的对象: 字符串、列表、集合、字典、文件
isinstance(list_2, Iterable)#isinstance()函数. 里面两个参数,第一个参数: 对象. 第二个参数: 类型
#-----------------------------访问列表元素----------------------------
#list[n] 访问列表中索引为n的元素
print(list_2[2]) # 正向索引 
print(list_2[-1]) # 反向索引 
#  list[m:n:step] 切片.按步长step获取列表中索引m~n对应的元素(不包括list[n]) 
print(list_2[1:4:2]) #步长为2.获取索引1~4对应的元素 
print(list_2[1:]) #获取索引1~末尾对应的元素 print(list_2[:4])
#获取索引0~4对应的元素
print(list_2[:]) #获取所有元素
# 循环访问 for...in... 
#查询列表元素
print(2 in list_2)
print(5 not in list_2)
#--------------------------------------------添加列表元素(增)---------------------------------- 
# append()方法; 在列表末尾添加元素
list_2.append(6) #直接改变list的值 
print(list_2)
string = "python" 
new_string = string.replace("y","t") #字符串不可变.只能返回新字符串 
print(string)
print(new_string)
# extend()方法: 在列表末尾添加另一个列表的元素
print(li_1) 
list_3 = list_2 
list_3. extend(li_1) 
print(list_2) 
# insert()方法: 将新元素插入到指定位置
list_3.insert(2,"word") 
print(list_3) 
# 注意!!!!! 
# list可以改变 
print(list_2)
print(list_3) 
# -----------------------------------------元素排序--------------------------------------------- 
#sort(key=None,reverse=False)方法: 按特定顺序对列表元素排序 
# key参数: 列表支持的函数.默认微微NONE 
#reverse参数: 控制元素排列方式.默认False 表示升序排列
list_4 = [4,5,1,8,0,3,7] 
list_4.sort() #升序排列
print(list_4) 
list_4.sort(reverse=True)
print(list_4) 
# key支持函数,字符串可以用len. print(len("python"))
list_5 = ["python","java","C++","php"] 
list_5.sort(key = len) 
print(list_5) #sorted()函数不会对原则列表产生影响
list_6 = [4,5,1,8,0,3,7] 
li = sorted(list_6) 
print(list_6) 
print(li) 
#reverse()方法,逆置列表 
list_5.reverse()
print(list_5)
#-----------------------------------------删除列表元素(删)------------------------------------- 
#1. del语句. 用于删除列表中指定位置的元素
list_7 = ["python","java","C++","php"]
del list_7[1]
print(list_7)

#2、 remove()方法, 用于移除列表中某个元素(只移除第一个)
list_8 = ["python","java","C++","php","java"] 
list_8.remove("java") 
print(list_8)

#3.pop()方法.用于移除列表中某个元素. 一般不指定元素. 去移除列表最后一个元素 
list_9 = ["python","java","C++","php","java"]
print(list_9.pop()) #移除列表中最后一个元素
print(list_9) 
print(list_9.pop(1)) #移除列表中索引为1的元素 
print(list_9) 

#4、 clear()方法, 用于清空列表. 注意和del删除列表区 
list_9.clear() 
print(list_9)

#----------------------------------------------列表推导式--------------------------------------- 
# 基础语法:[exp for x in list] 
ls = [1,2,3,4,5,6,7,8] 
ls = [data*data for data in ls]
print(ls) 
#带if语句: [exp for x in list list1 for y in list2]
ls = [data for data in ls if data>4]
print(ls)
# 嵌套for循环:[exp for x in list1 for y in list2]
ls_one = [1,2,3]
ls_two = [4,5,6]
ls_three = [x+y for x in ls_one for y in ls_two]
print(ls_three)
#-------------------------------------------创建nxn列表,并索引---------------------------------- 
n = 5 
magic_square = [[0 for x in range(n)] 
               for y in range(n)]
print(magic_square) 
print(magic_square[0][1])