第二周第二天

第二周第二天

一:列表相关操作
1.列表推导式
  1. 序列变换成列表

    str = 'abc'
    
    list = [x for x in str]
    
    print(list)   # ['a','b','c']
    

2.筛选(提取有用的,删除没用的)

scores = [85, 65, 20, 65, 95, ]
new_score = [x for x in scores if x >= 60]
print(new_score)

3.不统一的变换

nums = [19, 20, 15, 'zifucuan', 15, 65]
new_nums = [x*10 if type(x) == int else x for x in nums]
print(new_nums)

  1. 列表的加法和乘法运算

    1. 列表1+列表2 — 合并两个列表产生一个新的列表
    a = [1, 2 , 3]
    b = ['后裔', '伽罗', '低某']
    result = a + b
    print(result)    #[1, 2, 3, '后裔', '伽罗', '低某']
    
  2. 乘法运算

    1. 列表中的值的元素重复N变
    a = [1, 2 , 3]
    b = ['后裔', '伽罗', '低某']
    result = a + b
    print(result*3)  #[1, 2, 3, '后裔', '伽罗', '低某', 1, 2, 3, '后裔', '伽罗', '低某', 1, 2, 3, '后裔]
    
  3. 比较运算

    1. 元素顺序不相同的列表不相等
    print([1,2] == [2,1])  # flase
    
    1. 两个不同类型的数据也可以判断相等,结果一定是false
    print([1,2] == 'abc')  # false
    
  4. is的用法

    is的实质是判断两个数据在存储空间的地址是否一样

    print('is:' 2 is 2)  # True
    
2:结论
  1. 结论一:

    用数据给变量赋值的时候,如果数据是不可变的,那么会复用前面存储的值;如果数据是可变的,之前没有存储过,都会开辟新的空间

    id(变量) — 获取变量中保存的数据在内部空间的地址

    数字不可变

    a = 200
    b = 200
    print(id(a), id(b))  # id 一样
    

    列表可变

    a = [100, 200]
    b = [100, 200]
    print(id(a), id(b))   #  id 不一样
    
  2. 结论二:

    如过用一个变量给另一个变量赋值,其实是让新的变量保存原来变量的地址

    a = 200
    b = a
    print(id(a), id(b))  # 地址相同
    
    a = [100, 200]
    b = a
    print(id(a), id(b))  # 地址相同
    

3.结论三:

​ python中所有的变量都是指针变量 (变量保存数据的时候,保存的是数据在内存中的地址)

二:列表的相关函数和方法
  1. 相关函数

    max、min、sum、sorted、len、list

    1.1max和min:

    ​ max(序列) ---- 获取元素中的最大值

    ​ min(序列) ---- 获取元素中最小值

    nums = [89, 9,464, 464, 564, 95, 777]
    print(max(nums))
    print(min(nums))
    

    2.sum(序列) (数字序列)

    ```python
    

    nums = [89, 9,464, 464, 564, 95, 777]
    print(sum(nums))
    print(sum(range(101)))
    ```

    3.sorted

    sorted(序列) ---- 将序列中的元素从小到大依次排列,以列表的形式返回

    sorted(序列,revers= True) ---- 将序列中的元素从大到小依次排列,以列表的形式返回

    nums = [89, 9,464, 464, 564, 95, 777]
    new_nums = sorted(nums)
    print(new_nums)
    

    4.list

    list(序列) ---- 将其他序列转换成列表(任何序列都可以转换成列表)

    list1 = list('abc')
    print(list1)   # ['a', 'b', 'c']
    list2 = list(range(20,46))
    print(list2)
    
  2. 相关方法

    1. 列表.clear() ---- 删除列表中所有的元素

      song = ['关山酒', '我爱她']
      song.clear()
      print(song)  # []
      

​ 2.列表.copy() ---- 返回一个和它原来一样的列表

song = ['关山酒', '我爱她']
song.copy()

​ 3.列表.count(元素) — 返回元素在列表中出现的次数

nums = [89, 9,464, 464, 564, 95, 95, 777]
a = nums.count(9)
print(a)

​ 4.列表extend(序列) – 将序列中的元素全部添加到列表中

nums = [89, 9,464, 464, 564, 95, 95, 777]
nums.extend(['123', 4656])
print(nums)

​ 5.列表.index(元素) – 饭返回元素中的下标(从零开始的)如果元素有多个相同的就返回第一个,没有就报错

nums = [89, 9, 464, 464, 9, 564, 95, 95, 777]
print(nums.index(9)) 

​ 6.列表.revers() — 逆序

nums = [89, 9, 464, 464, 9, 564, 95, 95, 777]
nums.reverse()
print(nums)  

​ 7.列表.sort() ---- 直接在原列表排序

字典

  1. 什么是字典:字典是容器型数据类型,将{}作为容器的标志,里面多喝元素用逗号隔开

{键1:值1, 键2:值2}

  1. 注意字典爆保存的数据其实是值,键的作用是对值的区分和说明
  2. 字典可变,支持增删改,字典是无序的,u支持下标操作
  3. 字典的元素必须是键值对

​ 键:必须是不可变数据的、唯一的

​ 值:任何类型的值都可以并且可以重复

  1. 字典的增删改查

    1. 查 — 获取字典的值
      1. 获取单个值:字典[key] ---- 获取字典指定key的值
      2. 字典.get(key) ---- 如果字典不存在,会报错,并且返回None
      3. 字典.get(key,0) —
    2. 遍历是取到字典的键
    dog = {'name': '大黄', '爱好': '母狗', '性别': '公', '品种': '中华田园犬', '饲养人': {'name': '袁玮' , '电话': '555'}}
    print(dog['name'])
    for x in dog:
        print(x)  
    

    3.增和改

    ​ 字典[key] = 值 — 当key存在的时候就是修改,不存在的时候就是增加

    4.删除

    del 字典[key] – 删除指定key对应的值

    字典.pop(key) — 删除指定key对应的值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值