码迷,mamicode.com
首页 > 编程语言 > 详细

7、python基本数据类型之散列类型

时间:2020-01-22 16:04:23      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:数据   tab   href   需要   soft   div   class   name   color   

 

前言:python的基本数据类型可以分为三类:数值类型、序列类型、散列类型,本文主要介绍散列类型。

 

一、散列类型


 内部元素无序,不能通过下标取值

1)字典(dict):用 {} 花括号表示,每一个元素包含键(key)和值(value),key是一般是唯一的,如果重复最后的一个键值对

   会替换前面的,value不需要唯一。

2)集合(set):用 {} 花括号表示,存放一个个元素,可以是任意类型,但元素不允许重复。

注意:

d = {} 定义的是一个空字典

s = set() 定义的是一个空集合

 

二、字典dict


 1.定义

  用 {} 花括号表示,每一个元素包含键(key)和值(value),key是一般是唯一的,如果重复最后的一个键值对

会替换前面的,value不需要唯一。

  value可以取任何数据类型,但key是不可变的,新增键值对后,key不可以修改,单value可以修改。

2.字典的常用方法

1)增

  • dic[key]=value 无则创建,若已有对应的key存在则修改该键值对的value
  • update():将一个字典的所有元素更新到另一个字典中 (简单来说,就是添加多个元素)
# 字典 {key:value, key:value}   键/值对形式
# key是唯一的,是不可变类型数据
dic1 = {name:张三,age:18,gender:}
dic2 = {a:11,b:22}

dic1[city] = 广州   # 新增键值对
print(dic1)

dic1[city] = 上海   # 根据key修改值
print(dic1)

# updata():添加多个键值对(将一个字典更新到一个字典中)
dic1.update(dic2)
print(dic1)
dic2.update({c: 33, d: 44})
print(dic2)

2)删

  • pop():参数为字典的键(key)
  • popitem() :删除最后添加的键值对
  • clear():清空字典中的所有键值对
  • 关腱字del:del dic[key]
dic1 = {name:张三,age:18,gender:,city:广州}

# pop():删除,需要传入一个键(key)
dic1.pop(gender)
print(dic1)

# popitem():不需要传参,删除字典中最后添加进来的一个键值对
dic1.popitem()
print(dic1)

# 关键字del
del dic1[age]
print(dic1)

# clear():清除字典中的所有键值对
dic1.clear()
print(dic1)

运行结果:

C:\software\python\python.exe D:/myworkspace/test/test/test.py
{name: 张三, age: 18, city: 广州}
{name: 张三, age: 18}
{name: 张三}
{}

Process finished with exit code 0

3)改

 dic[key]=value  通过键去修改值,在第一点中已经举出例子

4)查

  • get():获取键对应的值,但key不存在时不会报惜,会打印None
  • keys():获取所有的键,可以用list将结果转成列表
  • values():获取所有的值,可以用list将结果转换成列表
  • itmes(): 获取所有的键值对,可以用list将结果转换成列表,列表中每个键值对组成一个元组
dic1 = {name:张三,age:18,gender:}

# get():获取键对应的值
print(dic1.get(name))
print(这是不存在的键值对:{}.format(dic1.get(city)))

# keys():返回字典中所有的键
print(dic1.keys())

dic_key = dic1.keys()
print(list(dic_key))  # 通过list()把键以列表的形式输出

# values():返回字典中所有的值
print(dic1.values())
dic_value = dic1.keys()
print(list(dic_value))  # 通过list()把键以列表的形式输出

# items:返回字典中所有的键值对,每一个键值对都会打包成元组(key,value)
print(dic1.items())
dic_item = dic1.items()
print(list(dic_item))

运行结果:

C:\software\python\python.exe D:/myworkspace/test/test/test.py
张三
这是不存在的键值对:None
dict_keys([name, age, gender])
[name, age, gender]
dict_values([张三, 18, ])
[name, age, gender]
dict_items([(name, 张三), (age, 18), (gender, )])
[(name, 张三), (age, 18), (gender, )]

Process finished with exit code 0

 

三、集合set


 1.定义

集合是由不重复元素组成的无序的集,常用来消除重复元素

注意:要创建一个空集合只能用set(),不能用用{},因为后者创建的是一个空字典

2.集合的常用方法

集合的方法比较简单,常用增加元素add,删除元素pop()、remove()

set1 = {1, python, a, 2, a, 3, 4, python, 5, 6}
print(set1)  # 去掉重复的元素

li = [79, 1, 89, 3, 90, 5, 89, 321, 66, 7]
li = list(set(li))  # 利用set()转换成集合去重
print(li)

dic = {}  # 表示空字典, 空集合用set()
set1 = set()
print(type(dic), type(set1))    # type()是python内置函数,用于查看数据类型

set1.add(1)
set1.add(2)
print(set1)
set1.pop()
print(set1)
set1.remove(2)
print(set1)

运行结果:

C:\software\python\python.exe D:/myworkspace/test/test/test.py
{1, 2, 3, 4, 5, 6, python, a}
[1, 321, 3, 66, 5, 7, 79, 89, 90]
<class dict> <class set>
{1, 2}
{2}
set()

Process finished with exit code 0

 

 

 

作者:miki_peng

出处:https://www.cnblogs.com/miki-peng

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,请大家尊重原创,如要转载,请在文章页面明显位置注明出处,否则保留追究法律责任的权利。

 

7、python基本数据类型之散列类型

标签:数据   tab   href   需要   soft   div   class   name   color   

原文地址:https://www.cnblogs.com/miki-peng/p/12228726.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!