列表 & 元祖 & range

基本定义

相当于一个容器,有序,可变,支持索引

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

# 定义个列表
lst = ["adb", 123, True, "黑哥"]
# 用逗号分隔的是一个元素
print(lst) # 原样输出
print(lst[0])   # 输出单个元素
print(id(lst[0]))    # id获取对象的内存地址


lst[0] = "烧饼"     # 把"abc"内存的地址指向"烧饼",id更新
print(lst)
# lst存放的是每个元素对应的内存地址
增加元素

Append 追加(在列表的最后位置添加一个内容)

lst.append("小狗")   # 在最后的位置添加
print(lst)

Insert 固定位置添加

lst.insert(2,'wusir')   #尽量不实用,因为当数据量比较大的时候会影响效率
print(lst)

Extend 迭代添加

lst.extend("今天好")   #迭代添加 
print(lst)
注意:不能放数字和布尔值
Pop删除

默认删除最后一个

lst.pop()    # 默认删除最后一个,有返回值,返回的是被删除的元素
print(lst)

通过索引删除

lst.pop(2)      # 索引删除
print(lst)

移除 —— 通过元素名字进行删除

只会移除第一个相同的元素

lst.remove("烧饼")    # 删除第一个相同的元素
print(lst)
del 删除
del lst[0]      # 通过索引删除
del lst[0:3]     # 根据切片删除
print(lst)

del lst[0:3:2]     # 根据切片步长删除
print(lst)
clear 清空列表
lst.clear()   # 清空列表
print(lst)
查找:
lst = ["dsb",123,"dsb",True,"黑哥"]
for i in lst:
  print i
嵌套
lst = [1,"alex","春生","小东北","渣弟",
       ["大黑哥",["常鑫",["自行车"],"大煎饼","掉井盖","三金"],
    "冯强","海峰",["太白金星","女神","吴超",["肖锋"]]]]
# 海峰
print(lst[-1][3])
# 女神
print(lst[-1][-1][1])

注意⚠️:不管什么类型进行切片的时候,获取的都是源数据类型

替换
li[1] = "Kelly"    # 直接把第二个元素改成了Kelly
print(li)

元组

基本定义

元组 — tuple(他跑),有序,不可变,支持索引

无增删改,支持索引

元组用于存储一些比较重要的信息

元组在配置文件中会使用

元祖就是一个不可变的列表

元组中如果只有一个元素. 一定要添加一个逗号, 否则就不是元组

索引
tu = (1, "alex", True, "大黑哥", [1, 2, 3])   # 元组
print(tu)
print(tu[1:3])
循环遍历
# for 循环
for i in tu:
  print(i)

range

基本定义

range —— 范围

Python一切皆对象

Linux一切皆文件

Python3 中的range是一个可迭代对象,写得是怎样的,打印的时候就是怎样

Python2 中的range返回的是一个列表

range 顾头不顾尾
range(起始位置,终止位置)  --  [起始位置:终止位置]
range(终止位置)  --  [:终止位置]
range(起始位置,终止位置,步长)  --  [起始位置:终止位置:步长]

for 和 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(list(range(0,10,1)))))
使用
for i in range(100, 0, -1): print(i)
# 当打印的只有一行代码的时候,可以放到上一行

# 1-100的偶数
for i in range(0, 101, 2):
    print(i)

# 1-100里面的基数
for i in range(1, 101, 2): print(i)
# 定义一个空的列表,当flage为true的时候,往列表中添加用户输入的元素,当列表长度等于3的时候,让flage为false不再进行循环
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)

元组和列表:支持索引,切片,步长;均可进行嵌套

Python2中xrange 和 python3中的range 相似

原文地址:https://www.cnblogs.com/yangduoduo/p/11164091.html