欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

学习第四天:内容

程序员文章站 2022-06-17 08:27:17
1.列表 列表 list 容器 增加 删除 改 查 列表的嵌套 2.元祖 元组 tuple 定义的方式: 3.range ......

1.列表

列表 -- list -- 容器

有序,可变,支持索引
列表: 存储数据,支持的数据类型很多 字符串,数字,布尔值,列表,集合,元祖,字典,

定义一个列表
lst = ["dsb",123,true,"黑哥"] # 用逗号分隔的是一个元素

print(lst[0])
print(id(lst[0]))
id获取对象的内存地址
lst[0] = "dsb"
print(lst)  # ['dsb', 123, true, '黑哥']

s = "alex" # 字符串是不可变数据
s = "wusir"
s[0] = "b"
print(s)

增加

 append 追加
 insert 插入
 extend 迭代添加
lst.append("大煎饼")  #追加(在列表的最后位置添加一个内容)
print(lst)

lst.insert(2,"wusir")  #插入  以后尽量不要使用(当数据量比较大的时候会影响效率)
print(lst)

lst.extend("可迭代的内容")  # 迭代添加
print(lst)

删除

del lst  -- 删除整个列表
del lst[0] -- 通过索引删除
del lst[1:2] -- 切片删除
del lst[1:4:2] -- 步长删除

clear 清空列表
remove 通过元素进行删除

pop
  1.默认删除最后一个
  2.有返回值返回的是被删除的元素
  3.通过索引进行删除
lst.pop()  # 弹 -- 默认删除最后一个
print(lst)

lst = ["dsb",123,true,"黑哥"]
lst.pop(2)   # 通过指定索引进行删除
print(lst)

lst = ["dsb",123,"dsb",true,"黑哥"]
lst.remove("dsb") # 移除 -- 通过元素名字进行删除
print(lst)

del lst[0]  # 通过索引删除
print(lst)

del lst[0:3] # 通过切片删除
print(lst)

del lst[0:3:2] # 通过步长删除
print(lst)

lst.clear()  #清空
print(lst)

lst[0] = 1
lst[1:2] ="qaaa"   # 元素可以超出切片的位数
lst[1:4:2] = "12"  # 元素和位置一一对应,多也不行少也不行
lst = ["dsb",123,"dsb",true,"黑哥"]
lst[1] = "123"
print(lst)

lst = ["dsb",123,"dsb",true,"黑哥"]
lst[1:2] = "12345"
print(lst)

lst = ["dsb",123,"dsb",true,"黑哥"]
lst[1:4] = 12,13,14,15
print(lst)

lst = ["dsb",123,"dsb",true,"黑哥"]
lst[1:4:2] = "12"
print(lst)  # 步长不为1的必须用一一对应,多一个也不行,少一个也不行

for i in lst:
    print(i)
    
for 循环
lst = ["dsb",123,"dsb",true,"黑哥"]
for i in lst:
    print(i)

列表的嵌套

#取值通过索引进行取值,一层一层的进行查找

lst = [1,"alex","春生","小东北","渣弟",
       ["大黑哥",["常鑫",["自行车"],"大煎饼","掉井盖","三金"],
    "冯强","海峰",["太白金星","女神","吴超",["肖锋"]]]]
print(lst[-1][1][1][0])

a = lst[-1][-1][-2]
print(a)
不管什么类型进行切片的时候获取都到都是源数据类型

2.元祖

元组 -- tuple

有序,不可变,支持索引
元组用于存储一些比较重要的信息
元组在配置文件中会使用
元组就是不可变的列表

定义的方式:

tu = (1,"alex",true,"大黑哥",[1,2,3])
lst = [1,"alex",true,"大黑哥",[1,2,3]]
print(tu)

tu = (1,"alex",true,"大黑哥",[1,2,3])
print(tu[0:6])
 for 循环
 for i in tu:
     print(i)

3.range

-*- coding:utf-8 -*-  [编码]
range -- 范围
print(list(range(0,10)))  # 顾头不顾尾
    python3:
        range 是一个可迭代对象
    python2:
        xrange和python3中的range是相似的
        range返回一个列表
    range 范围--是顾头不顾尾
print(list(range(0,10,1))) #步长不写得时候默认为1  [0:10:1]
print(list(range(10,-2,-1))) #步长不写得时候默认为1  [10:-2:-1]
print(list(range(10))) #步长不写得时候默认为1  [:10]

print(list(range(0,10,1))) #步长不写得时候默认为1  [0:10:1]
print(list(range(10,-2,-1))) #步长不写得时候默认为1  [10:-2:-1]
print(list(range(10))) #步长不写得时候默认为1  [:10]

range(起始位置,终止位置)  --  [起始位置:终止位置]
range(终止位置)  --  [:终止位置]
range(起始位置,终止位置,步长)  --  [起始位置:终止位置:步长]
使用for循环和range 打印 100 ~ 1
for i in range(100,0,-1):
    print(i)

for i in range(1,101,2):
    print(i)

for i in range(0,101,2):
    print(i)

for i in range(0,101,6):
    print(i)
错误示例:
while range(0,10):
    print(1)

lst = []
flage = true
while flage:
    name = input("请输姓名:")
    lst.append(name)
    if len(lst) == 3:
        flage = false
print(lst)

lst = []
for i in range(3):
    lst.append(input("请输入姓名:"))
print(lst)
for 和 range配合使用