list#类
列表概括
li = [1,2,13,["石振文",["19", 10],"庞麦郎"],"charon","pluto"]#通过list类创建的对象
print(li)
#中括号括起来
#,分割每个元素
#列表中得元素可以是数字,字符串,列表,布尔值。#可以在列表中嵌套列表
#集合,内部可以放置任何东西
#可以通过索引取值
print(li[2])
#可以通过切片取值,切片的结果也是列表>=2 <5
print(li[2:5])
#for,while循环
for i in li:
print(i)
#查找列表中的列表
li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True]
print(li[4][1][1]) 结果:
10
#字符串转换成列表
s = "pouaskdfauspdfiajsdkfj"
new_li = list(s)
print(new_li) 结果:
['p', 'o', 'u', 'a', 's', 'k', 'd', 'f', 'a', 'u', 's', 'p', 'd', 'f', 'i', 'a', 'j', 's', 'd', 'k', 'f', 'j']
#内部使用for循环
#列表转换字符串
# 列表转换成字符串,
# 需要自己写for循环一个一个处理: 既有数字又有字符串
li = [11,22,33,"123","alex"]
r = str(li) # '[11,22,33,"123","alex"]'
print(r)
s = ""
for i in li:
s = s + str(i)
print(s)
灰魔法: list类中提供的方法
1、原来值最后追加append
li = [11,22,33,44]
li.append(5)
li.append("charon")
li.append([111,"pluto"])
print(li) 结果:
[11, 22, 33, 44, 5, 'charon', [111, 'pluto']]
2、清空列表clear
li = [11,22,33,44]
li.clear()
print(li) 结果:
[]
3、拷贝,浅拷贝copy
li = [11,22,33,44]
v = li.copy()
print(li)
print(v) 结果:
[11, 22, 33, 44]
[11, 22, 33, 44]
4、计算元素出现的次数count
li = [11,22,33,44,33]
v = li.count(33)
print(v) 结果:
2
5、扩展原列表、参数:可迭代对象extend
li = [11, 22, 33, 22, 44]
v = ["charon",1121]
# li.append([9898,"不得了"])
#print(li)
li.extend(v)
print(li) 结果:
[11, 22, 33, 22, 44, 'charon', 1121]
6、根据值获取当前索引位置(左边优先)index
li = [11, 22, 33, 22, 44]
v = li.index(22)
print(v) 结果:
1
7、在指定索引位置插入元素insert
li = [11, 22, 33, 22, 44]
li.insert(0,99)
print(li) 结果:
[99, 11, 22, 33, 22, 44]
8、删除某个值(1、指定索引。2、默认最后一个值),并获取删除的值pop
li = [11, 22, 33, 22, 44]
v = li.pop()
v1 = li.pop(1)
print(li)
print(v)
print(v1) 结果:
[11, 33, 22]
44
22
9、删除列表中得指定值,左边优先remove
li = [11, 22, 33, 22, 44]
li.remove(22)
print(li) 结果:
[11, 33, 22, 44]
10、将当前列表进行翻转reverse
li = [11, 22, 33, 22, 44]
li.reverse()
print(li) 结果:
[44, 22, 33, 22, 11]
11、列表的排序sort
li = [11, 44,22, 33, 22, 10]
li.sort()
print(li) 结果:
[10, 11, 22, 22, 33, 44] li = [11, 44,22, 33, 22, 10]
li.sort(reverse=True)
print(li) 结果:
[44, 33, 22, 22, 11, 10]
12、补充
####################################### 深灰魔法 #######################################
# 1. 列表格式
# 2. 列表中可以嵌套任何类型
# 中括号括起来
# ,分割每个元素
# 列表中的元素可以是 数字,字符串,列表,布尔值..所有的都能放进去
# “集合”,内部放置任何东西
"""
# 3.
# 索引取值
print(li[3])
# 4 切片,切片结果也是列表
print(li[3:-1]) # 5 for循环
# while循环
for item in li:
print(item)
"""
# 列表元素,可以被修改 # li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True] ############## 6 索引
# 修改
# li[1] = 120
# print(li)
# li[1] = [11,22,33,44]
# print(li) # 删除,第一种方式
# del li[1]
# print(li)
############## 7 切片
# 修改
# li[1:3] = [120,90]
# print(li)
# 删除
# del li[2:6]
# print(li) # 8 in 操作
# li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True]
# v1 = "石振文" in li
# print(v1)
# v2 = "age" in li
# print(v2)
###### 列表中的元素, # 9 操作
# li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True]
# li[4][1][0]
# [1] # li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True] # s = "pouaskdfauspdfiajsdkfj"
# s = 123
# a = "123"
# int(a)
# a = 123
# str(a)
# 10 转换
# 字符串转换列表 li = list("asdfasdfasdf"), 内部使用for循环
# s = "pouaskdfauspdfiajsdkfj"
# new_li = list(s)
# print(new_li) # 列表转换成字符串,
# 需要自己写for循环一个一个处理: 既有数字又有字符串
# li = [11,22,33,"123","alex"]
# # r = str(li) # '[11,22,33,"123","alex"]'
# # print(r)
# s = ""
# for i in li:
# s = s + str(i)
# print(s)
# 直接使用字符串join方法:列表中的元素只有字符串
# li = ["123","alex"]
# v = "".join(li)
# print(v) ### 补充:字符串创建后,不可修改
# v = "alex"
# v = v.replace('l','el')
# print(v) # li = [11,22,33,44]
# li[0]
# li[0] = 999 # s = "alex"
# li[0]
# s[0] = "E" # li = [11,22,33,44]
# print(li)
# print(li)
# print(li)
# print(li)
# print(li)
# print(li)
# print(li)
# print(li)
# 列表,有序;元素可以被修改 # 列表
# list
# li = [111,22,33,44]