姓名:刘浩然。 2020年大目标Python

day12 Python列表

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]

  

posted @ 2019-01-30 11:54  pluto2charon  阅读(133)  评论(0编辑  收藏  举报