task 04

列表

在这里插入图片描述

列表概述

在这里插入图片描述

  1. 索引
numbers - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
#获取元素,左起第一位元素,为 0
numbers[3:6] [4, 5, 6]
#获取元素,负数,右起第一个为-1
numbers[-3:-1] [8,9]
#若切片始于开头或者结尾可以省略第一个或者第二个索引
numbers[:3] [1, 2, 3]
numbers[-3:] [8, 9, 10]
#若要整个序列
numbers[:]
  1. 步长
numbers - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# =1
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
#隔3取1
numbers[::4]
[1, 5, 9]
# = -1
numbers[8:3:-1]
[9, 8, 7, 6, 5]
numbers[::-2]
[10, 8, 6, 4, 2]
#要注意,步长为负数时候,第一个索引必须大于第二个索引
  1. 序列相加
>>>squares = [1, 4, 9, 16, 25]
>>> squares += [36, 49, 64, 81, 100]
>>> squares
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>>

4.乘法

[42] * 10
[42, 42, 42, 42, 42, 42, 42, 42, 42, 42]
  1. 成员资格
>>>permissions = 'rw'
>>>'w' in permissions
true

6.长度,最小值和最大值

>>>numbers = [100, 34, 678]
>>>len(numbers)
3
>>>max(numbers)
678
>>>min(numbers) 
34

基本的列表操作

在这里插入图片描述

  1. 修改列表,给元素赋值
>>> x = [1, 1, 1]
>>> x[1] = 2
>>> x
[1, 2, 1]
  1. 删除元素
>>> names= ['alice', 'ben', 'tom', 'jane' ]
>>> del names[2]
>>> names
[alice', 'ben', 'jane']

3.给切片赋值

>>> name = list('perl') 
>>> name
['p', 'e', 'r', 'l']
>>> name[2:] = list('ar')
>>> name
['p', 'e', 'a', 'r']

列表方法

在这里插入图片描述

indext

#1. append-lst
>>> lst = [1, 2, 3]
>>> lst.append(4)
>>> lst
[1, 2, 3, 4] 
#不会返回修改后的心里表,而是直接修改就列表,要注意区分

#2 clear 就地清空列表的内容
>>> lst = [1, 2, 3]
>>> lst.clear()
>>> lst
[]
#类似于切片赋值语句 lst[:] = []

# 3 copy 复制列表
>>> a =[1, 2, 3]
>>> b = a.copy
>>> b[1] = 4
>>> a
[1, 4, 3]
#类似于使用 a[:] or list(a)

#4 count
>>> x = [[1, 2], 1, 1, [2, 1, [1, 2]]]
>>> x.count(1)
2
>>> x.count([1, 2])
1

# extend
>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]

#index 
>>> knights = ['we', 'are', 'the', 'knights', 'who', 'say', 'ni' ]
>>> knights.index('who')
4

练习1

lst = [2, 5, 6, 7, 8, 9, 2, 9, 9]

#1在列表末尾增加元素15
>>> lst = [2, 5, 6, 7, 8, 9, 2, 9, 9]
>>> lst. append(15)
>>> lst
[2, 5, 6, 7, 8, 9, 2, 9, 9, 15]

#2 在列表的中间位置插入元素 20
>>> lst = [2, 5, 6, 7, 8, 9, 2, 9, 9]
>>> lst.insert(7, 20)
>>> lst
[2, 5, 6, 7, 8, 9, 2, 20, 9, 9]

#3 将列表[2, 5, 6]合并到lst 中
>>> lst = [2, 5, 6, 7, 8, 9, 2, 9, 9]
>>> lst1 = [2, 5, 6]
>>> lst.extend(lst1)
>>> lst
[2, 5, 6, 7, 8, 9, 2, 9, 9, 2, 5, 6]
#4 移除列表中索引为 3的元素
>>> lst = [2, 5, 6, 7, 8, 9, 2, 9, 9]
>>> lst.pop(3)
7
>>> lst
[2, 5, 6, 8, 9, 2, 9, 9]
#5 反转列表里的所有元素
>>> lst = [2, 5, 6, 7, 8, 9, 2, 9, 9]
>>> lst.reverse()
>>> lst
[9, 9, 2, 9, 8, 7, 6, 5, 2]

#6 对列表里的元素进行排序,从小到大一次,从大到小一次
= [2, 5, 6, 7, 8, 9, 2, 9, 9]
>>> lst.sort()
>>> lst
[2, 2, 5, 6, 7, 8, 9, 9, 9]
>>> lst.reverse()
>>> lst
[9, 9, 9, 8, 7, 6, 5, 2, 2]

练习2

lst = [1, [4, 6], true]
def double_list(lst):
    for index,value in enumerate(lst):
        if isinstance(value,bool):
            continue
        if isinstance(value,(int,float)):
            lst[index]*=2
        if isinstance(value,list):
            double_list(value)
if __name__=='__main__':
    lst=lst=[1,[4,6],True]
    double_list(lst)
    print(lst)

元组

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值