python 第四章 list列表+tuple元组+range范围

python 第四章

list 列表


# 列表 -- list  相当于一个容器
# 有序的,可变的,支持索引,可增删改
# 用于存储数据
# 支持的数据类型:str int bool list tuple dict set

# 定义一个列表
lst = ["a",123,True,[123],(1,),{"a":"b"},{"2"}] #用,号分割的是一个元素
print(lst)
# 输出["a",123,True,[123],(1,),{"a":"b"},{"2"}]

# 增加:append insert extend

# append 追加,在列表的最后位置添加元素
lst.append("add")
print(lst)
# 输出['a', 123, True, [123], (1,), {'a': 'b'}, {'2'}, 'add']

# insert 插入,根据索引插入位置(当数据量比较大的时候会影响效率)
lst.insert(2,"add2")
print(lst)
# 输出['a', 123, 'add2', True, [123], (1,), {'a': 'b'}, {'2'}]

# extend 迭代添加 除int,bool外都是可迭代类型
lst.extend("可迭代的内容")# str型
print(lst)
# 输出['a', 123, True, [123], (1,), {'a': 'b'}, {'2'}, '可', '迭', '代', '的', '内', '容']

lst.extend(("add","3"))# tuple型
print(lst)
# 输出['a', 123, True, [123], (1,), {'a': 'b'}, {'2'}, 'add', '3']


# 删:del pop remove clear

# del 可通过索引/切片/步长删除
# del 索引删除
del lst[0]
print(lst)
# 输出[123, True, [123], (1,), {'a': 'b'}, {'2'}]

# del 切片删除
del lst[0:3] # 从0开始到3的元素都删除
print(lst)
# 输出[[1, 23], (1,), {'a': 'b'}, {'2'}]

# del 步长删除
del lst[0:6:2]
print(lst)
# 输出[123, [1, 23], {'a': 'b'}, {'2'}]

# pop 默认删除第一个,通过索引删除
# pop 默认删除第一个
lst.pop()
print(lst)
# 输出['a', 123, True, [1, 23], (1,), {'a': 'b'}]

# pop 索引删除
lst.pop(2)
print(lst)
# 输出['a', 123, [1, 23], (1,), {'a': 'b'}, {'2'}]

# remove 元素名称删除
lst.remove(123)
print(lst)
# 输出['a', True, [1, 23], (1,), {'a': 'b'}, {'2'}]

# clear 清空
lst.clear()
print(lst)
# 输出[]

# 改 可通过索引/切片/步长改
# 索引
lst[1] = "add"
print(lst)
# 输出['a', 'add', True, [1, 23], (1,), {'a': 'b'}, {'2'}]

# 切片,可多可少,可一一对应
lst[1:2] = "b"
print(lst)
# 输出['a', 'b', True, [1, 23], (1,), {'a': 'b'}, {'2'}]
lst[1:4] = "c" #从第一个元素到第四个元素替换成一个元素
print(lst)
# 输出['a', 'c', (1,), {'a': 'b'}, {'2'}]
lst[1:4] = "d","e","f" #一一对应,修改三个元素
print(lst)
# 输出['a', 'd', 'e', 'f', (1,), {'a': 'b'}, {'2'}]
lst[1:4] = "a","b","c","d"
print(lst)
# 输出['a', 'a', 'b', 'c', 'd', (1,), {'a': 'b'}, {'2'}]

# 步长 步长不为一,需一一对应
# lst[1:4:2] = "a"
# 输出 提示错误ValueError: attempt to assign sequence of size 1 to extended slice of size 2
lst[1:4:2] = "a","b"
print(lst)
# 输出['a', 'a', True, 'b', (1,), {'a': 'b'}, {'2'}]

# 查:
# for 循环
# 循环输出每一个元素,需ptint 有缩进
for i in lst:
    print(i)
# 输出
# a
# 123
# True
# [1, 23]
# (1,)
# {'a': 'b'}
# {'2'}

# 只输出最后一个元素,print 无缩进
for i in lst:
    pass
print(i)
# 输出{"2"}


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


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

tuple 元组

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

# 定义方式:
tu = (1,"a",True,[1,2,3])
print(tu)
# 输出 (1, 'a', True, [1, 2, 3])

# 查询:索引、for循环
# 索引查询
print(tu[0:3])
# 输出 (1, 'a', True)

# for 循环
# 元素一一输出
for i in tu:
    print(i)
# 输出
# 1
# a
# True
# [1, 2, 3]

# 只输出最后一个元素
for i in tu:
    pass
print(i)
# 输出 [1, 2, 3]

range 范围

# !/usr/bin/python
# -*- coding: utf-8 -*-
# @File    : 03 range.py
# @time    : 2019-07-0911:58
# @Author  : zhangshan33

# range -- 范围
# 特点:顾头不顾尾

# range 在python3和python2中的区别
# python3 中的range是一个可迭代对象,写的怎么样打印出来就是怎样
# 获取成列表:
print(list(range(0,10)))# 转成列表的时候顾头不顾尾
# 输出[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# python2 中的range返回的是一个列表

# range获取范围
# 转成列表的时候顾头不顾尾
# 正序
print(list(range(10))) #头不写,默认从0开始,步长不写,默认为1 [0:10:1]
# 输出[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(range(0,10)))# 从0算到9
# 输出[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(range(0,10,3)))# 按步长输出
# 输出 [0, 3, 6, 9]
# 倒序(必须加步长)
print(list(range(10,0,-3)))# 倒序输出
# 输出[10, 7, 4, 1]

# range 范围一般与for循环使用
# 使用for和range循环打印100~1
for i in range(100,0,-1):
    print(i)
# 输出100-1

# 循环打印1-100 的奇数
for i in range(1,100,2):
    print(i)

# 不能与while使用,会形成死循环
while range(0,10):
    print(1)

# 循环打印三次"请输入姓名"将三次结果打印到列表中
# for循环
lss = []
for i in range(0,3):
    u = input("请输入姓名:")
    lss.append(u)
print(lss)

lss = []
for i in range(3):
    lst.append(input("请输入姓名:"))
print(lss)

# while循环
lss = []
count = True
while count:
    u = input("请输入姓名:")
    lss.append(u)
    if len(lss) == 3:
        count =False
print(lss)

今日总结

# 
# 列表:list
# 定义方式:
# lst = [,,,,]
# 有序,可变的,可索引的,支持增删改查
# 作用:存储数据的,支持很多种数据类型
# 列表元素:用,号隔开
# 
# 
# 
# 增:
# append    追加
# insert    插入  需要声明位置  尽量不要用
# extend    迭代添加 可迭代内容
# 
# 删:
# pop
# 弹 默认删除最后一个元素
# 通过指定索引进行删除
# 删除有返回值,返回被删除的元素
# remover
# 移除 通过元素名字进行删除,删除第一个
# clear
# 清空
# del lst      默认全部删掉
# del lst[1:10:2] 可通过索引/切片/步长删除
# 
# 
# 
# 改
# 索引
# 切片会补位,多了补位,少了也补位,用逗号隔开
# 步长不为1的必须一一对应,不然会报错
# 
# 查
# for 循环
# lst = ["abc",123,"efg",True,"您好"]
# for i in lst:
#     print(i)
# 
# 
# 列表的嵌套
# [[]]
# 取值通过索引进行取值,一层一层的进行查找
# 不管什么类型进行切片按照源类型输出
# 
# 
# 元组:tuple
# 定义的方式:
# tu = (1,"alex",[1,2,3])
# 用于存储一些比较重要的信息
# 不可变的列表
# 用于配置文件中
# 有序,不可变
# 不能增删改
# 只能查,支持索引和for查看
# for i in tu:
#     print(i)
# 
# range--范围
# 
# python3 中的range是一个可迭代对象
# 写的怎么样打印出来就是怎样
# 获取成列表:
# list(range(0,10)) 转成列表的时候顾头不顾尾
# python2 中的range返回的是一个列表
# 
# range(起始位置,终止位置)  --  [起始位置:终止位置]
# range(终止位置)  --  [:终止位置]
# range(起始位置,终止位置,步长)  --  [起始位置:终止位置:步长]
# 
# range和for配合使用
# range(起始位置,终止位置)
# 终止位置
# 步长


元组小结

原文地址:https://www.cnblogs.com/zhangshan33/p/11166729.html