python入门教程Python语言

python基础类型(二):字典与元组

2018-11-05  本文已影响30人  渔父歌

一、字典

python中的字典是由键值对组成,每一个键在字典中都是唯一的,值可以是任意类型的对象,但是键必须是不可遍的对象类型(如:字符串、数字、元组等)。

一个字典由许多个键值对组成,我们可以通过键来访问字典中的对应键的值,如:

d = {
    'test1':1,
    2:2,
    (1,2):3
}

d['test1']  # 1
d[2] # 2
d[(1,2)] # 3

也可以通过键来给字典中对应位置的键进行赋值,如:

d['test1']  # 1
d['test1'] = 4
d['test1']  # 4

如果所给的键不在字典中,就会向字典里添加所给的键并进行赋值,如:

d['test2'] = 4
"""
d = {
    'test1':1,
    2:2,
    (1,2):3,
    'test2': 4
}
"""

1. 字典常用操作

  1. in:我们通常使用 in来判断某个键是否在字典当中,如:

    'test1' in d # True
    3 in d # False
    
  2. items():以元组形式返回字典中的键值对,如:

    d = {
        'test1':1,
        2:2,
        (1,2):3
    }
    print(d.items())
    # dict_items([('test1', 1), (2, 2), ((1, 2), 3)])
    
  3. keys():以列表形式返回字典中的键,如:

    d = {
        'test1':1,
        2:2,
        (1,2):3
    }
    print(d.keys())
    # dict_keys(['test1', 2, (1, 2)])
    
  4. values():以列表形式返回字典中的值,如:

    d = {
        'test1':1,
        2:2,
        (1,2):3
    }
    print(d.values())
    # dict_values([1, 2, 3])
    
  5. update(dict: b)将字典 b中的所有键值添加到 d中,如果 s中的键在 d中已经存在,则用 s中键对应的值覆盖 d值,如:

    d = {
        'test1':1,
        2:2,
        (1,2):3
    }
    b = {
        2:3,
        'test2':5
    }
    
    d.update(b)
    print(d)
    # {'test1': 1, 2: 3, (1, 2): 3, 'test2': 5}
    

    可以看到 d中原来 2处的值被 b中 2处的值覆盖了。

  6. get(key, default):返回字典中键 key对应的值,如果键 key不在字典中,则返回 default。如果没有提供默认值且键 key不在字典中,就会抛出 KeyErrror错误。

二、元组

元组在 python中和字符串一样,是不可变类型,即一旦定义其值不可改变,相当于其他语言中的常量。

元组在 python中通常用来保存一些不能改变的值,也经常用来作为函数的返回值,因为元组有一种操作叫做解包,可以将元组中的多个值同时赋值给多个变量,如:

t = (1,2,3,4)
x1,x2,x3,x4 = t
# 在最后一个变量名前加上 *,就会将多余的值全部给最后一个变量
# 否则会报错, 如:
x1, x2 = t #ValueError: too many values to unpack (expected 2)
x1, *x2 = t
# x1    1
# x2    [2,3,4]

在返回函数值时,我们可以这样使用:

def f():
    return (1,2,3)

x1,x2,x3 = f()
x1,*x2 = f()

# 也可以不使用括号
def f():
    return 1,2,3

x1,x2,x3 = f()
x1,*x2 = f()
上一篇下一篇

猜你喜欢

热点阅读