Python数据类型(字典和集合)

1.5 Dictionary(字典)

Python中,字典用放在花括号{}中一系列键-值对表示。键和值之间用冒号分隔,键-值对之间用逗号分隔。
在字典中,你想存储多少个键-值对都可以。每个键都与一个值相关联,你可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将任何Python对象用作字典中的值。

>>> alien_0 = {'color': 'green', 'point': 5}
>>> print(alien_0)
{'color': 'green', 'point': 5}
>>> alien_0['x_position'] = 0
>>> alien_0['y_position'] = 25
>>> print(alien_0)
{'color': 'green', 'point': 5, 'x_position': 0, 'y_position': 25}

注意,键-值对的排列顺序与添加顺序不同。
Python不关心键-值对的添加顺序,而只关心键和值之间的关联关系。

>>> alien_0 = {} # 创建空字典
>>> alien_0['color'] = 'green'
>>> alien_0['point'] = 5
>>> print(alien_0)
{'color': 'green', 'point': 5}

1.5.1 访问字典中的值

>>> alien_0 = {'color': 'green'}
>>> print(alien_0['color'])
green

1.5.2 修改字典中的值

>>> alien_0 = {'color': 'green'}
>>> alien_0['color']
'green'
>>> alien_0['color'] = 'yellow'
>>> alien_0['color']
'yellow'

1.5.3 删除键-值对

>>> alien_0 = {'color': 'green', 'points': 5}
>>> print(alien_0)
{'color': 'green', 'points': 5}
>>> del alien_0['points']
>>> print(alien_0)
{'color': 'green'}

1.5.4 遍历字典

user_0 = {
    'username': 'efermi',
    'first': 'enrico',
    'last': 'fermi',
}

for key, value in user_0.items():
    print("\nKey: " + key)
    print("Value: " + value)

#
# Key: username
# Value: efermi
#
# Key: first
# Value: enrico
#
# Key: last
# Value: fermi
# 
# 遍历字典中的所有键
favorite_languages = {
    'jen': 'python',
    'sarah': 'c',
    'edward': 'ruby',
    'phil': 'python',
}

for name in favorite_languages.keys():
    print(name.title())

# Jen
# Sarah
# Edward
# Phil
# 遍历字典中的所有值
favorite_languages = {
    'jen': 'python',
    'sarah': 'c',
    'edward': 'ruby',
    'phil': 'python',
}

for language in favorite_languages.values():
    print(language.title())

# Python
# C
# Ruby
# Python
favorite_languages = {
    'jen': 'python',
    'sarah': 'c',
    'edward': 'ruby',
    'phil': 'python',
}
# 通过方法set()来剔除重复项
for language in set(favorite_languages.values()):
    print(language.title())

# C
# Ruby
# Python
favorite_languages = {
    'jen': 'python',
    'sarah': 'c',
    'edward': 'ruby',
    'phil': 'python',
}

# 使用in或者not in来判断key是否存在
if 'erin' not in favorite_languages.keys():
    print("Erin, please take our poll!")

# Erin, please take our poll!
# 按顺序遍历字典中的所有键
favorite_languages = {
    'jen': 'python',
    'sarah': 'c',
    'edward': 'ruby',
    'phil': 'python',
}

for name in sorted(favorite_languages.keys()):
    print(name.title())

# Edward
# Jen
# Phil
# Sarah

1.5.5 嵌套

你可以在列表中嵌套字典、在字典中嵌套列表甚至在字典中嵌套字典。

# 在列表中嵌套字典
alien_0 = {'color': 'green', 'points': 5}
alien_1 = {'color': 'yellow', 'points': 10}
alien_2 = {'color': 'red', 'points': 15}

aliens = [alien_0, alien_1, alien_2]

for alien in aliens:
    print(alien)

# {'color': 'green', 'points': 5}
# {'color': 'yellow', 'points': 10}
# {'color': 'red', 'points': 15}
# 在字典中嵌套列表
pizza = {
    'crust': 'thick',
    'toppings': ['mushrooms', 'extra cheese'],
}

print("You ordered a " + pizza['crust'] + "-crust pizza " +
      "with the following toppings:")

for topping in pizza['toppings']:
    print("\t" + topping)

# You ordered a thick-crust pizza with the following toppings:
#   mushrooms
#   extra cheese
# 在字典中嵌套字典
users = {
    'aeinstein': {
        'first': 'albert',
        'last': 'einstein',
        'location': 'princeton',
    },
    'mcurie': {
        'first': 'marie',
        'last': 'curie',
        'location': 'paris',
    },
}

for username, user_info in users.items():
    print("\nUsername: " + username)
    full_name = user_info['first'] + " " + user_info['last']
    location = user_info['location']

    print("\tFull name: " + full_name.title())
    print("\tLocation: " + location.title())

# Username: aeinstein
#     Full name: Albert Einstein
#     Location: Princeton
#
# Username: mcurie
#     Full name: Marie Curie
#     Location: Paris

1.6 Set(集合)

集合是一个无序的不重复元素序列。
可以使用大括号{}或者set()函数创建集合。
注意:创建一个空集合必须用set()而不是{},因为{}是用来创建一个空字典。

>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>> print(basket)
{'orange', 'apple', 'pear', 'banana'}
>>> 'orange' in basket
True
>>> 'crabgrass' in basket
False

两个集合之间的运算

>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a
{'a', 'b', 'c', 'd', 'r'}
>>> b
{'l', 'z', 'm', 'a', 'c'}
>>> a - b
{'b', 'd', 'r'}
>>> a | b
{'l', 'z', 'a', 'm', 'b', 'c', 'd', 'r'}
>>> a & b
{'a', 'c'}
>>> a ^ b
{'b', 'l', 'z', 'd', 'm', 'r'}

1.6.1 添加元素

>>> thisset = set(("Google", "Runoob", "Taobao"))
>>> print(thisset)
{'Runoob', 'Google', 'Taobao'}
>>> thisset.add("Facebook")
>>> print(thisset)
{'Runoob', 'Facebook', 'Google', 'Taobao'}

使用update()方法也可以添加元素,而且参数可以是列表、元组、字典等。

>>> thisset = set(("Google", "Runoob", "Taobao"))
>>> thisset.update({1,3})
>>> print(thisset)
{'Runoob', 1, 3, 'Taobao', 'Google'}
>>> thisset.update([1,4],[5,6])
>>> print(thisset)
{'Runoob', 1, 3, 4, 'Taobao', 'Google', 5, 6}

1.6.2 移除元素

>>> thisset = set(("Google", "Runoob", "Taobao"))
>>> thisset.remove("Taobao")
>>> print(thisset)
{'Google', 'Runoob'}
>>> thisset = set(("Google", "Runoob", "Taobao"))
>>> thisset.discard("Facebook")  # 不存在不会发生错误
>>> print(thisset)
{'Runoob', 'Google', 'Taobao'}
>>> thisset = set(("Google", "Runoob", "Taobao", "Facebook"))
>>> x = thisset.pop() # 随机删除集合中的一个元素
>>> print(x)
Google

1.6.3 清空集合

>>> thisset = set(("Google", "Runoob", "Taobao"))
>>> thisset.clear()
>>> print(thisset)
set()

1.6.4 计算集合元素个数

>>> thisset = set(("Google", "Runoob", "Taobao"))
>>> len(thisset)
3

参考资料:

原文地址:https://www.cnblogs.com/gzhjj/p/10658951.html

时间: 2024-08-26 18:34:23

Python数据类型(字典和集合)的相关文章

Python 之字典与集合

进入python的字典与集合的学习. 先回顾下集合. 在python中,集合用set表示.花括号与set()可以用来创建集合. 还是先创建一个空的集合 不能用s={}来创建一个集合,创建一个空的集合使用set(). 集合是无序的,不重复的,所以在创建集合的时候重复的元素会被去掉. 集合的基本运算: 交    & 并    | 差    - 对称差 ^ 举个例子: 设集合s1={1,2,3,4},集合s2={2,3,5} 则: >>> s1={1,2,3,4} >>&g

Day4—python基础—字典and集合

字典就是键值对应,键唯一,无序.集合用来去重,关系测试,无序. 字典这种数据类型常用的方法有: 1.clear() print(name.clear()) 清除字典中的数据,输出结果为none 2.fromkeys() print(name.fromkeys(["c","z","p"],100)) 创建字典,通过列表的方式指定多个key,并将这些key赋予相同的值 输出结果为: {'c': 100, 'z': 100, 'p': 100} 3.g

python 数据类型 ----字典

字典由一对key:value 组成的 python中常用且重量级的数据类型 1. key , keys, values 字典由一对key:value 组成的 python中常用且重量级的数据类型 1. key , keys, values id_db = { 'jboss':{ 'mycis': '10.88.130.38', 'ec':'10.88.130.29', 'rds':'10.88.130.25' }, 'jetty':{ 'mycis':'10.88.130.37', 'ec':'

Python的字典和集合

字典 字典是Python种唯一的映射类型.映射类型中的数据是无序排列的.在映射类型种,我们使用键直接‘映射’到值,这就是为什么叫映射类型的原因,映射类型通常被称做哈希表,因为字典对象就是哈希类型的.哈希表的算法是获取键,对键执行一个叫做哈希函数的操作,并根据计算的结果,选择在数据结构的某个地址中来存储值.任何一个值存储的地址取决于它的键,因此,哈希表中的值是没有顺序的.哈希表有一个很好的性能,因为用键查询相当快. 字典的基本操作 #字典的赋值 >>> dict1 = {} >>

Python中字典和集合

映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元组等 包含可变对象的列表.字典和元组不能用作键 引用不存在的键会引发KeyError异常 1)字典 dict { } 空字典 { key1:value1,key2:value2,... } 字典在其它编程语言中又称作关联数组或散列表: 通过键实现元素存取:无序集合:可变类型容器,长度可变,异构,嵌套 支持的操作: len(D

Python数据类型之五(集合)

集合的作用 知识点回顾:可变类型是不可hash类型,不可变类型是可hash类型 作用:去重,关系运算 定义:可以包含多个元素,用逗号分割,集合的元素遵循三个原则: 1.每个元素必须是不可变类型(可hash,可作为字典的key) 2.没有重复的元素 4.无序 注意集合的目的是将不同的值存放在一起,不同的集合间用来做关系运算,无需纠结集合中的单个值 二.常用方法 #!/usr/bin/python3 student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'R

python数据类型-字典-016

一.Dictionary(字典) 1.字典(dictionary)是Python中另一个非常有用的内置数据类型. 2.列表是有序的对象结合,字典是无序的对象集合.两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取. 3.字典是一种映射类型,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对集合. 4.键(key)必须使用不可变类型. 5.在同一个字典中,键(key)必须是唯一的. 二.实例 #!/usr/bin/python3 dict = {

Python中字典和集合的用法

本人开始学习python 希望能够慢慢的记录下去 写下来只是为了害怕自己忘记. python中的字典和其他语言一样 也是key-value的形式  利用空间换时间 可以进行快速的查找 key 是唯一的 不可变的类型 比如 str int 等  不能是list之类的可变类型 1.定义 定义一个字典 格式{key:value,key:value} a = {'a':80,'b':90,1:'a',2:[1,2]} print(a) 如果是定义如下 a = {'a':90,[1,2,3]:10} 则会

python数据类型:字典dict常用操作

字典是Python语言中的映射类型,他是以{}括起来,里面的内容是以键值对的形式储存的: Key: 不可变(可哈希)的数据类型.并且键是唯一的,不重复的. Value:任意数据(int,str,bool,tuple,list,dict,set),包括后面要学的实例对象等. 在Python3.5版本(包括此版本)之前,字典是无序的. 在Python3.6版本之后,字典会按照初建字典时的顺序排列(即第一次插入数据的顺序排序). 当然,字典也有缺点:他的缺点就是内存消耗巨大. 优点:查询速度快,映射型

012.Python的字典和集合的相关函数

一 字典的相关函数 1.1 增函数 dictvar = {"a":1,"b":2} dictvar["c"] = 3 print(dictvar) 执行 [[email protected] python]# python3 test.py test.py {'a': 1, 'b': 2, 'c': 3} fromkeys() 使用一组键和默认值创建字典 (不常用 赋初始值) listvar = ['a','b','c'] res = {}.fr