day004 list、tuple、range

一、列表(list)

1、介绍

* 能装对象的对象(类似于书包),有顺序(按照我们添加的顺序)
* 用[] 表示,可以放任意数据,每个元素用逗号( ,)隔开
* 同样用索引和切片

索引

    lst[0]  # 获取第一个元素
    可以修改,lst[3] = "一个人"

切片

    lst[0: 3] # 切片0到2,步长默认为1
    lst[2: : -1] # 倒着切片,用步长为-1控制

2、列表的增删改查

1、增加, 因为list可变所以直接在原来对象上操作

lst = [11, 22, 33,]
lst.append("wusir")  # 将"wusir"添加到list的末尾
lst.insert[1, "刘德华")  # 指定位置插入元素,原来的元素向后移一位
lst.extend(可迭代对象)  #  迭代添加,在原list末尾迭代添加

2、删除

lst.pop()  # 默认删除最后一个
lst.pop(2)  # 指定删除2号元素
lst.remove('捅破天')   # 删除指定元素, 如果是不存在的元素会报错
lst.clear()     # 清空list
del lst[1: 3]    # 切片删除

3、修改

lst[1] = "太污"   # 把1号元素修改成太污
lst[1: 4: 3] = ["马虎疼", "欧哈依"]   # 切片修改也行,如果步长不是1,要注意,元素个数
lst[1: 4] = ["一天天"]     # 切片如果没有步长或步长为1,则不用关心个数

4、查询, 列表是一个可以迭代对象,所以可以进行for循环

for e2 in lst:
    print(e2)   # 输出每一个元素

5、其他操作

1、查询出现次数 count

c = lst.count("太白")     # 查询太白出现的次数

2、排序 sort

lst.sort()  # 排序,默认升序
lst.sort(reverse = True)    # 降序

3、翻转元素顺序(倒序) reverse

lst.reverse()   # 将[1, 3, 2, 4] -->  [4, 2, 3, 1]

4、列表长度

        len(lst)    # 计算列表的长度

5、查找索引 index

lst.index(元素)       # 通过元素查找索引

3、列表的嵌套

采用降维操作,一层一层的看就好
lst = [1, "太白", "wusir", ["马虎疼", ["可口可乐"], "王林"]]
print(lst[2])       # 找到"wusir"
print(lst[1: 3]      # 找到太白和wusir
print(lst[1][1])       # 打印太白的白字
# 将 wusir拿到,然后首字母大写,再输入列表

二、元组和元组嵌套 tuple

tuple: 只读列表
由 () 组成     特点: 不可变,
如果只有一个元素,末尾要加 , 不然不是tuple
不可变:指的是元组内部第一层元素的内存地址不可变

索引

print(tu[2])

切片

print(tu[2: 5]) # 切片后还是元组

for 循环遍历元组

for el in tu:
    print(el)

尝试修改元组

tu = ("水牛", "哈哈哈", [], "呵呵")
***错误的修改*** 
tu[1] = '马蜂'  
#报错  TypeError: 'tuple' object does not support item assignment
tu[2].append("麻将台")     # 不可变是指,子元素不可变,
子元素内部的子元素是可以变得,这个取决于元素是否为可变对象

三、 range

for num in range(10):
    print(num)
for num in range(1, 10, 2):
    print(num)
for num in range(10, 1, -2):    # 反着来, 和切片一样 10, 9,
    print(num)

猜你喜欢

转载自www.cnblogs.com/yipianshuying/p/9997495.html