python03-列表

  今天听了老师讲的列表录播课,里面好多不太熟悉的,现在把老师讲的内容粘贴到这里,以供以后查看。

  一、以下是列表的基本用法

# 1. 创建列表
# 空
list01 = []
list01 = list()

# 默认值
list02 = ["悟空", 100, True]
list02 = list("我是齐天大圣")
# 2. 获取元素
# 索引
print(list02[2])  # 齐
# 切片 注意:获取切片时,会重新再建一个列表,浅复制
print(list02[-4:])  # ['齐', '天', '大', '圣']

# 3. 添加元素
# 追加(在末尾添加)
list02.append("八戒")
# 插入(在指定位置添加)
list02.insert(1, True)  # 在索引为1(第二个)的位置添加True

# 4. 删除元素
# 根据元素删除,删除后,后面的元素会以此向前移
list02.remove("是")
# 根据位置删除

del list02[0]
print(list02)
# 5.定义元素,目的:可以增删改查元素。
# 切片
del list02[1:3]
print(list02)
# [True, '大', '圣', '八戒']
# [True, 'a', 'b', '八戒']
list02[1:3] = ["a", "b"]
# [True,'八戒']
# list02[1:3] = []
print(list02)

# 遍历列表
# 获取列表中所有元素
for item in list02:
    print(item)

# 倒序获取所有元素
# 不建议
# list02[::-1] 通过切片拿元素,会重新创建新列表.
# for item in list02[::-1]:
#     print(item)

# 3  2  1  0
for i in range(len(list02) - 1, -1, -1):
    print(list02[i])

# -1  -2  -3  -4
for i in range(-1, -len(list02) - 1, -1):
    print(list02[i])

  二、列表内存图

第一种:

list01 = ["张无忌","赵敏"]
list02 = list01
# 修改的是列表第一个元素
list01[0] = "无忌"
print(list02[0]) #答案是“无忌”

  对应的 内存图如下:

第二种:

list01 = ["张无忌", "赵敏"]
list02 = list01
# 修改的是list01变量
list01 = ["无忌"]
print(list02[0])  # 张无忌

  

第三种:

list01 = [800, 1000]
# 通过切片获取元素,会创建新列表.
list02 = list01[:]
list01[0] = 900
print(list02[0])  # ?800
list01 = [500]
print(list02[0])  # ?800

  

第四种:

# 列表套列表
list01 = [800, [1000, 500]]
list02 = list01
list01[1][0] = 900
print(list02[1][0]) # ?900

第五种:

list01 = [800, [1000, 500]]
# 浅拷贝
# list02 = list01[:]
list02 = list01.copy()
list01[1][0] = 900
print(list02[1][0]) # ?900

第六种:
import copy

list01 = [800, [1000, 500]]
# 深拷贝
list02 = copy.deepcopy(list01)
list01[1][0] = 900
print(list02[1][0]) # ?1000

三列表转字符串
# 需求:根据xx逻辑,拼接一个字符串.
# "0123456789"
# 缺点:每次循环形成(+=)一个新的字符串对象,替换变量引用result。
# result = ""
# for item in range(10):
# #""
# #"0"
# #"01"
# #"012"
# result = result + str(item)
# 优点:每次循环只向列表添加字符串,没有创建列表对象。
list_temp = []
for item in range(10):
list_temp.append(str(item))
# join : list --> str
result = " ".join(list_temp)
print(type(result))
print(result)

四 字符串转列表

"""
    str --> list
    练习:exercise08.py
"""

str01 = "张无忌-赵敏-周芷若"
list_result = str01.split("-")
print(list_result)

五for循环内存图

 
posted @ 2020-02-22 20:01  苍山如海,残阳如血  阅读(223)  评论(0)    收藏  举报