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:可以利用一个字典的项更新另一个字典的项

  • 相关阅读:
    对象池使用时要注意几点
    Flash3D学习计划(一)——3D渲染的一般管线流程
    714. Best Time to Buy and Sell Stock with Transaction Fee
    712. Minimum ASCII Delete Sum for Two Strings
    647. Palindromic Substrings(马拉车算法)
    413. Arithmetic Slices
    877. Stone Game
    338. Counting Bits
    303. Range Sum Query
    198. House Robber
  • 原文地址:https://www.cnblogs.com/finsomway/p/9979851.html
Copyright © 2011-2022 走看看