zoukankan      html  css  js  c++  java
  • Python学习之旅(八)

    Python基础知识(7):数据基本类型之元组、字典

    一、元组

    用括号把元素括起来中间用逗号隔开。用逗号分开一些值便可创建元组

    1,2,3

    结果:

    (1, 2, 3)

    空元组可以用没有包含任何内容的两个圆括号表示,如()。

    1、元素不可被修改,不能进行增加、删除操作

    2、建议写元组的时候在右括号的左边加一个逗号,以便与方法区分开来。如(1,2,3,)

    一个值加上逗号可以实现一个值的元组,如(43,)

    3、元组可以通过索引取值

    4、元组也可以通过分片取值,元组的分片还是元组

    5、元组可以使用for循环

    6、元组、字符串、列表三者之间可以相互转换

    s="123"
    tuple(s)
    结果:('1', '2', '3')
    list(s)
    结果:['1', '2', '3']
    
    l=["a","b","c"]
    tuple(l)
    结果:('a', 'b', 'c')
    str(l)
    结果:"['a', 'b', 'c']"
    
    t=(5,7,8)
    str(t)
    结果:'(5, 7, 8)'
    list(t)
    结果:[5, 7, 8]

    7、extend:追加一个元素

    8、count:计算元素个数

    9、index:按索引获取值

    10、元组的一级元素不可修改,但可以修改元组中列表的元素

    t=(1,3,[("a","b"),1],"Alice",True,(5,6))
    t[2][1]="more"
    t

    结果:

    (1, 3, [('a', 'b'), 'more'], 'Alice', True, (5, 6))

    二、字典

    定义字典时用大括号,字典由多个键及其对应的值构成的键-值对组成,键-值对也称为项。每个键和它的值之间用冒号隔开,每个项之间用逗号隔开。

    1、可以使用dict()函数创建字典

    方法一:
    items=[("name","Alice"),("age","12")]
    d=dict(items)
    d
    结果:
    {'age': '12', 'name': 'Alice'}
    
    
    方法二: d
    =dict(name="Alice",age="12") d 结果: {'age': '12', 'name': 'Alice'}

    2、字典中的值(value)可以是任意值,如字符串、列表、元组等。同时字典中的值也可以嵌套很多层。

    info={"k1":"Alice","age":12,3:[3,2,(["more","money"],11),2],"note":"forgot"}

    3、列表、字典不能作为键(key)。如果键重复只能保留一个

    4、通过键(key)取值

    如上面例子中的info["k1"]

    5、字典是无序的

    6、不能通过分片取值

    7、字典可以使用del删除

    8、字典可以使用len()获知字典中项(键-值)的数目

    9、字典可以使用for循环

    for默认循环输出键,使用keys()也可以输出key。如果想要输出值可以使用value()。

    info={"k1":"Alice","age":12,3:[3,2,(["more","money"],11),2],"note":"forgot"}
    
    for item in info:
        print(item)
        
    print("=" * 50)
    
    for item in info.keys():
        print(item)
    
    print("=" * 50)
    
    for item in info.values():
        print(item)
    
    print("=" * 50)
    
    
    #输出项(键-值对)
    for k,v in info.items(): print(k,v)

    结果:

    note
    k1
    3
    age
    ==================================================
    note
    k1
    3
    age
    ==================================================
    forgot
    Alice
    [3, 2, (['more', 'money'], 11), 2]
    12
    ==================================================
    note forgot
    k1 Alice
    3 [3, 2, (['more', 'money'], 11), 2]
    age 12

    10、字典方法

    (1)clear:清除字典中所有的项

    (2)copy:浅复制,返回一个具有相同键-值对的字典

    (3)fromkeys:使用给定的键建立新字典,每个键都对应一个默认值None

    {}.fromkeys(["name","age"])

    结果:

    {'name': None, 'age': None}

    (4)get:访问字典的项,当访问的项不存在时会报错,访问的键不存在时会返回默认值None

    (5)items:把字典中的所有键-值对以列表的方式返回,但项返回时并没有特定的顺序

    (6)pop:将对应的键-值对从字典中移除

    popitem:随机删除一个项

    (7)setdefault:获得与给定键相关的值

    当键不存在时,setfault会相应的在字典中国添加;如果键存在,就返回其相对应的值

    (8)update:可以利用一个字典的项更新另一个字典的项

  • 相关阅读:
    cocospods 卡在 Analyzing dependencies
    android px、sp、dp之间的互转
    Android 4.4环境搭建——Android SDK下载与安装
    我心中的核心组件(可插拔的AOP)~大话开篇及目录
    EF架构~AutoMapper对象映射工具简化了实体赋值的过程
    我心中的核心组件(可插拔的AOP)~第二回 缓存拦截器
    EF架构~为EF DbContext生成的实体添加注释(T5模板应用)
    品味编程~底层开发人员应该这样设计一个字体类
    Study notes for Clustering and K-means
    深入理解Oracle索引(25):一招鲜、吃遍天之单字段索引创建思路
  • 原文地址:https://www.cnblogs.com/finsomway/p/9979851.html
Copyright © 2011-2022 走看看