zoukankan      html  css  js  c++  java
  • 列表元祖字典内置方法

    # ls=[1,2,3] #简化定义变量的方式称为语法糖/笑笑语法
    # ls=list([1,2,3]) #本质
    # print(ls)


    #列表的常用操作
    1.索引取值:列表名[index]
    # s1 = ['w','q','e']
    # print(s1[1])

    2.列表运算(列表元素同类型)

    3.list的长度
    # s3 = [3, 4, 1, 2, 5]
    print(len(s3))

    4.切片:[start_index:end_index:step]
    # s4 = [3, 4, 1, 2, 5]
    # new_s4 = s4[::-1] # 反向取值
    # print(new_s4)
    # new_s4 = s4[1:4:]
    # print(new_s4)
    # new_s4 = s4[-2:-5:-1]
    # print(new_s4)

    5.成员运算:in
    # s5 = [3, 4, '1', 2, 5]
    # print('1' in s5) 结果为True
    # print(1 in s5) 结果为False
    # print(5 not in s5)

    6.循环(pycharm: ctrl+shift+r替换功能)
    # for v in s5:
    # print(v, type(v))
    #
    # # 只打印数字类型的数据
    # for v in s5:
    # if isinstance(v, int):
    # print(v, end=' ')


    列表的操作
    1.列表的增删改查
    #ls = ['w','q',3]

    # print(ls[1])


    # ls.append('r') # 列表末尾增加字符串
    # print(ls)
    # ls.insert(1,'w') # 添加至索引位置的前一个位置
    # print(ls)
    # ls.insert(len(ls),'w') # 用insert实现末尾增
    # print(ls)


    # ls[1] = 'r'
    # print(ls)


    # ls.remove('q')
    # print(ls)

    # ls.pop() # 默认从末尾开始删
    # print(ls)
    # ls.pop(1)
    # print(ls) # 指定位置删

    了解
    # del ls[2] #指定位置删
    # print(ls)
    #
    # ls.clear() #清空
    # print(ls)

    # 其他方法
    # 排序:针对于同类型
    # ls1 = [3,1,2]
    # ls1.sort() #默认正向排序
    # print(ls1)
    # ls1.sort(reverse=True) #正向排序结果上反转,形成倒序
    # print(ls1)
    #
    # ## 翻转
    # ls1.reverse() #按存储的顺序进行翻转
    # print(ls1)

    ## 计算值的个数:列表中可以存放重复数据
    ls2 = [1,2,3,3,2,1]
    #print(ls2.count(1)) #对象1存在的次数

    ## 整体增加:添加至末尾
    # ls2.extend('123') # 增加字典时,只取key值
    # print(ls2)
    ## 目标的索引位置,可以规定查找区间
    ind = ls2.index(1,3,6) #index(self,start_with , end_with)
    print(ind)

    # 元祖
    # 1. 用途:兴趣爱好,多个女朋友
    # 2. 定义方式:()内用逗号隔开多个元素,并且元素可以是任意数据类型
    fangping_boy_friend_tuple = ('ruiixng','zhuping','wenyi','changyi','qiangge','ruhua','ruhua','furong')
    fangping_boy_friend_tuple2 = tuple("('ruiixng','zhuping','wenyi','changyi','qiangge','ruhua')")
    fangping_boy_friend_tuple3 = tuple(('ruiixng','zhuping','wenyi','changyi','qiangge','ruhua'))
    print(fangping_boy_friend_tuple3)

    # 3. 常用操作和内置方法:
    # 1. 优先掌握
    # 索引
    print(fangping_boy_friend_tuple[0])
    print(fangping_boy_friend_tuple[-1])
    # 切片(顾头不顾尾,步长)
    print(fangping_boy_friend_tuple[0:2])
    # 长度len
    print(len(fangping_boy_friend_tuple))
    # 成员运算in和not in
    print('ruixing' in fangping_boy_friend_tuple)
    # 循环
    for i in fangping_boy_friend_tuple:
    print(i)
    # count
    print(fangping_boy_friend_tuple.count('ruhua'))
    # index
    print(fangping_boy_friend_tuple.index('furong'))
    # 4. 存一个值or多个值:多个值
    # 5. 有序or无序(有索引为有序,否则为无序):有序
    # 6. 可变or不可变:甚至没有可变和不可变一说

    # tup = (1,2,3)
    # tup = (4,5,6)
    #
    # a = 9
    # a += 1


    # 列表和元祖的区别:列表[]可以存也可以取;元祖()只可以取不可以更改,其他一模一样。有元祖只是历史遗留问题

    # 字典(考试必考)
    # 1. 用途:存多个值,不通过索引取值,可以用关键字找到对应的值
    # 2. 定义方式:{}内以key:value的方式存储多个值,值与值之间用逗号隔开

    import random

    lis = ['ruixing', 'fanping', 'wenyi', 'changyi', 'zhuping', 'qiangge', 'nick']

    lucky_boy_dict = {'ruixing': 0, 'fanping': 0, 'wenyi': 0, 'changyi': 0, 'zhuping': 0, 'qiangge': 0, 'nick': 999}
    for i in range(1000):
    lucky_boy_dict['nick'] = 0
    lucky_boy_name = lis[random.randint(0, 5)] # 'ruixing'
    lucky_boy_dict[lucky_boy_name] += 1

    print(lucky_boy_dict)

    # 3. 常用操作和内置方法:
    # 1. 优先掌握
    # 按key存取值:可存可取
    print(lucky_boy_dict['nick'])
    print(lucky_boy_dict['nick'] + 1)
    print('*'*50)
    # 长度len
    print(len(lucky_boy_dict))
    print('*'*50)
    # 成员运算in和not in
    print('nick' in lucky_boy_dict) # True
    print(0 in lucky_boy_dict) # False
    print('*'*50)
    # 删除del
    del lucky_boy_dict['nick']
    print(lucky_boy_dict)
    print('*'*50)
    # 键keys()、值values()、键值对items()
    print(lucky_boy_dict.keys())
    print(lucky_boy_dict.values())
    print(lucky_boy_dict.items())
    print('*'*50)
    # 循环
    for i in lucky_boy_dict:
    print(i)
    print('*'*50)

    # 了解:
    # get
    print(lucky_boy_dict.get('nick'))
    # print(lucky_boy_dict['nick']) # 报错
    # update # 更新,如果有相同的key,则会更新;如果没有相同的key,则会添加。
    dic = {'a':1}
    print(lucky_boy_dict.update(dic))
    dic = {'a':2}
    print(lucky_boy_dict.update(dic))
    print(lucky_boy_dict)

    print('*'*50)
    print()
    for k,v in lucky_boy_dict.items(): # [('ruixing', 171), ('fanping', 171), ('wenyi', 183), ('changyi', 147), ('zhuping', 176), ('qiangge', 152)]
    print(f'{k}:{v}')
    print('*'*50)
    # fromkeys
    dic = dict.fromkeys(['name','weight','height'],None)
    print(dic)

    dic1 = ['name','weight','height']
    dic2 = dict()
    for i in dic:
    dic2[i] = None
    print(dic2)
    print('*'*50)
    # setdefault # 如果key在字典里,不做任何修改;如果key不在字典里面,添加值
    dic = {'a':1,'b':2,'c':1}
    print(dic.get('d')) # None
    print(dic.get('d',1)) # None
    print(dic.setdefault('a',3))
    print(dic)
    print(dic.setdefault('d',2))
    print(dic)
    # 4. 存一个值or多个值:多个值
    # 5. 有序or无序(有索引为有序,否则为无序):无序
    # 6. 可变or不可变:可变

    dic = {'a':1,'b':2}
    print(id(dic))
    dic.update({'c':1})
    print(id(dic))

  • 相关阅读:
    性能测试培训:性能瓶颈分析思路
    (国内)完美下载Android源码Ubuntu版
    (国内)完美下载android源代码(文章已经丢失)
    【翻译】Ext JS最新技巧——2015-10-21
    ubuntu 中 eclipse 的菜单栏 显示问题
    谷歌代码库已超过 20 亿行代码,他们是如何管理的?
    架构方面的资料集锦
    Android Studio 使用 Gradle 打包 Jar
    【翻译】Ext JS最新技巧——2015-8-11
    【翻译】在Ext JS 6通用应用程序中使用既共享又特定于视图的代码
  • 原文地址:https://www.cnblogs.com/zrx19960128/p/10842352.html
Copyright © 2011-2022 走看看