Python语言基础之数据类型-Tuple、Set、Dictionary(3-4)

1、Tuple

元组和列表的功能相似,两者的区别在于列表的元素可以修改元组的元素不能修改。元组使用成对的圆括号 “( ) ” 定义,如下:

tuple1 = (‘a’, ‘b’, ‘c’, ‘d’)
tuple2 = (1, 2, 3, 4, 4)

当元组中只有一个元素时,需要在元素后面加上逗号 “,” ,否则定义元组的圆括号会被当作运算符:

tup1 = (1)
print(type(tup1))   # <class 'int'>  不加 逗号 ,类型为整数

tup2 = (1,)
print(type(tup2))   # <class 'tuple'>  加 逗号,类型为元组

与列表相同,可以使用下标访问元组中的元素。可以将多个元组连接组合成一个新的元组。如下:

tup3 = ('aa', 'bb', 'cc', 11, 22)
print(tup3[3])      # 11   访问下标为3的元素

tup4 = ('python', 'scala', 'java')
print(tup3 + tup4)     # ('aa', 'bb', 'cc', 11, 22, 'python', 'scala', 'java')   --多个元组组合成一个新的元组

使用 del 语句,删除元组,如下:

tup5 = tup3 + tup4
print(tup5)         #  ('aa', 'bb', 'cc', 11, 22, 'python', 'scala', 'java')
del tup5        # 删除元组,运行后报错信息显示该元组没有定义
print(tup5)     # NameError: name 'tup5' is not defined

+、*、in等运算符对元组同样起作用,效果与列表相似;len()、max()、min()等函数对元组的作用也与列表类似,参考:Python语言基础之数据类型-Tuple、Set、Dictionary(3-3)。

2、Set

集合是包含若干元素的列表,其特点是元素无序且不重复。定义集合使用成对的花括号 “ { } ” 或 set() 函数,如下:

set1 = {‘python’, ‘java’, ‘scala’}

创建空集合的话,必须使用 set() 函数。
Python中,两个不同的集合可以执行交、并、补、差等运算,如下

    set1 = {'python', 'java', 'scala'}
    set2 = {'java', 'hive', 'hbase'}
    result1 = set1 | set2      # 两个集合的并集,合并两个集合的所有元素并去重
    result2 = set1 & set2      # 两个集合的交集,两个集合中都有的元素
    result3 = set1 ^ set2      # 两个集合的交集的补集,合并两个集合,并去除两个集合都有的元素
    result4 = set1 - set2      # 两个集合的差集,去除集合1中 集合2有的元素

    print(result1)        # {'hive', 'java', 'scala', 'hbase', 'python'}
    print(result2)        # {'java'}
    print(result3)        # {'hive', 'scala', 'python', 'hbase'}
    print(result4)        # {'python', 'scala'}

Python中可以用于集合的函数主要有如下所示:
在这里插入图片描述

    set3 = {'aa', 'bb', 'cc'}
    set3.add('dd')    # 添加一个元素
    print(set3)       # {'bb', 'aa', 'dd', 'cc'}

    set4 = set3.copy()   # 复制一个集合
    print(set4)         # {'bb', 'aa', 'dd', 'cc'}

    set4.discard('cc')    # 删除一个指定元素
    print(set4)         # {'dd', 'bb', 'aa'}

    set4.pop()       # 随机移除一个元素
    print(set4)      # {'aa', 'dd'}

    set4.clear()     # 清空一个集合
    print(set4)      # set()
remove() 和 discard() 函数作用相同,但remove() 函数在移除集合中一个不存在的元素时会发生错误,而discard() 函数不会。

set3 = {'bb', 'aa', 'dd', 'cc'}
set3.remove('ff')   # 移除集合中不存在的元素时会报错
print(set3)         # 报错:KeyError: 'ff'

set3.discard('ff')   # 移除集合中不存在的元素时也不会报错
print(set3)          # {'cc', 'dd', 'bb', 'aa'}

3、Dictionary

Dictionary(字典)可以存储任意类型的对象,字典中的 键值对 分别存储字符串型的 “下标”对应的内容。字典中的每个键和值之间使用 冒号 “ : ” 分隔键值对 之间使用逗号 “ , " 分隔,整个字典使用成对的花括号 " { } " 定义。如下:

dict1 = {'a':'1', 'b':'2', 'c':'3'}           # 定义字典

# 访问字典中的值,需要使用方括号 “ [] ” 语法
print(dict1['b'])      # 2

# 添加或修改字典中某个 键值对 中的值,也要使用方括号 [] 语法,
# 当该键存在时修改对应的值 ,当该键不存在时将 键值对 添加到字典中。
dict1['c'] = '33'    # 修改值
print(dict1)        # {'a': '1', 'b': '2', 'c': '33'}

dict1['dd'] = '4'   # 添加值
print(dict1)        # {'a': '1', 'b': '2', 'c': '33', 'dd': '4'}

与列表、元组、集合相同,清空字典的内容使用 clear() 函数删除字典使用 del 命令,如下:

dict1 = {'a': '1', 'b': '2', 'c': '33', 'dd': '4'}
del dict1['a']      # 删除字典中 指定键及对应的值
print(dict1)        # {'b': '2', 'c': '33', 'dd': '4'}

dict1.clear()       # 清空字典
print(dict1)        # {}

del dict1           # 删除字典,被删除后再使用会显示说明该字典没有被定义
print(dict1)        # NameError: name 'dict1' is not defined

字典有以下两个特点

1)、其中的键名不能重复,创建字典时若同一个键被多次赋值,则其值为最后一次赋值的内容

2)、键一旦定义并便不可更改若要修改键名则意味着将原有键值对删除,并增加新的键值对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值