开发者社区> 我要学编程> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

python元组,集合类型,及字典补充

简介: 一、元组 元组与列表基本相同,不同之处在于元组只能存不能取,当多个值没有改的需求时,用元组更合适 元组的基本操作 1.创建元组: t = (1, 2, 3, 4, 2,4,) t = (1,) #单个元组的命名要加上逗号,否则识别为int型 2.需要掌握的操作: print(t.count(4))#返回4在元组中出现的次数 print(t.index(2,3,7))#返回2在元组中,从索引3开始查找到7所出现位置的索引 修改元组: 直接通过元组下标修改元组是非法的,不过可以通过凭借完成。
+关注继续查看

一、元组

元组与列表基本相同,不同之处在于元组只能存不能取,当多个值没有改的需求时,用元组更合适

元组的基本操作

1.创建元组:

t = (1, 2, 3, 4, 2,4,)
t = (1,) #单个元组的命名要加上逗号,否则识别为int型

2.需要掌握的操作:

print(t.count(4))#返回4在元组中出现的次数
print(t.index(2,3,7))#返回2在元组中,从索引3开始查找到7所出现位置的索引

修改元组:

直接通过元组下标修改元组是非法的,不过可以通过凭借完成。

t = (1, 2, 3, )
t1 = (3, 4, 5,)
t = t + t1
print(t)#结果(1, 2, 3, 4, 5)

删除元组:元组是无法删除的,只能通过del(会报错)

作业:将用户输入的菜名添加到元组中

   思路:元组不可以直接添加内容,但是元组与元组之间是可以拼接的,通过将接受到的数据转换成元组,然后与一个空元组进行拼接。

# foods = ()
# for i in range(5):
#     food = tuple(input('请输入菜名:').strip())
#     foods = foods+food
# print(foods)

二、字典类型

键必须是唯一的,但值则不必。键重名时,后面声明的会覆盖前面的值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

声明字典的几种方法:

# 1.
# dic = {
#     'name': 'zfj',
#     'age': 18,
#     'sex': 'male',
# }
# print(dic)
# 2.
# dic1 = dict(name='zfj', age=18, sex='male',)
# dic1 = dict(name='zfj', age=18, 2='male',)# 必须保证key为字符串类型,否则会报错
# print(dic1)
# 3.
# dic2 = dict([['name', 'zfj', ], ('age', 18, ), ('sex', 'male')])
# print(dic2)
# 4.所有键的值都相同或者赋予初始值
# dic3 = {}
# dic3 = dic3.fromkeys(('name', 'age', 'sex'), 'value1')
# print(dic3)

访问字典:字典通过key访问值,要是访问不存在的key则会报错

dic = {
    'name': 'zfj',
    'age': 18,
    'sex': 'male',
}
print(dic['job'])# 出错

修改字典:

dic = {
    'name': 'zfj',
    'age': 18,
    'sex': 'male',
}
dic['job'] = 'SH'
print(dic) # 向字典中添加'job':'SH'
dic['name'] = 'ZFJ'
print(dic)# 修改字典中的'zfj'为'ZFJ'
print(dic.get('name')) #get是获得键值为name的value
dic1 = {'xxx': '111'}
dic.update(dic1)# update 是将dic1中的内容添加到dic中
print(dic)

setdefault的用法:

dic.setdefault('name', 'dsb')#如果字典中已经存在key(‘name’)那么不修改原值
print(dic)
dic.setdefault('job', 'SH')#如果字典中没有存在key(‘job’)那么添加内容置字典
print(dic)

删除字典:

# dic.pop('age')
# print(dic)# 按键值删除
# dic.popitem()
# print(dic)# 随机返回并删除字典中的一对键和值(一般删除末尾对)。
# dic.clear()
# print(dic)# 清空字典

三、集合

是一个无序不重复元素的序列

特点:1.每一个值都是不可变类型 2.元素不能重复 3.集合内的元素无序

用处:关系运算,去重

定义:在{}内用逗号分隔开的多个值或者 set() 函数创建集合。 注:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

集合去重也具有局限性:1.无法保证原数据的顺序。2.当某一个数据中包含多个值全部为不可变类型才能使用集合

集合基本操作:

# a = {'小明', '小李', '小王', 'abc'}
# b = {'abc', 'qwe', 'fgh', '小李'}
# print(a & b) # 交集
# print(a | b) #合集
# print(a ^ b) #对称差集   不包含交集的所有部分
# print(a - b)# a与b的差集  就是输出a中除了包含b中有的内容
# print(b - a)# b与a的差集  就是输出b中除了包含a中有的内容

添加,删除:

# a.add('xiaowang') #添加,如果元素已存在,则不进行任何操作
# a.update('s')
# a.update('b')# update不仅可以添加字符串还可以添加列表,元组,字典
# a.remove('小明')#删除'小明' 不存在则报错
# a.discard('小明')#删除, 不存在不会报错
# a.pop()#随机删除
print(a)

 

 

加油!

 

焚膏油以继晷,恒兀兀以穷年。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Python元组tuple
Python元组tuple自制脑图 元组是一个不可变的序列,它的操作的方式基本上和列表是一致的,所以在操作元组时,就可以把元组当成是一个不可变的列表,一般当我们希望数据不改变时,就使用元组,其余情况都使用列表.。
9 0
Python元组 tuple详解
Python元组 tuple详解
34 0
Python刷题系列(7)_元组tuple
Python的元组与列表类似,不同之处在于元组的元素不能修改 【1】元组使用小括号,列表使用方括号 【2】元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可 【3】元组(tuple): 不可变数据类型 【4】元组内可以存储任意数据类型 【5】如果只创建一个元素的元组,那么这个元素后面必须要加逗号才行
81 0
Python入门(三):元组(tuple)的使用
在Python语言中内置的数据结构有:列表(list)、元组(tuple)、字典(dict)、集合(set), 这4种数据结构和基础数据类型(整数、浮点数等)统称为“内置类型”(Built-in Types)。列表(List)和元组(tuple)都是有序的列表所以统称为序列。Tuple是一组用括号括起来、逗号分隔的数据。Tuple中的元素也可以是任何类型的,但tuple和list的区别在于list是可变的,但tuple是不可变的,即tuple一旦定义了其元素就已经确定,不能对其想list一样进行append()、inset()、pop()和赋值操作,只能进行元素的获取。
53 0
Python知识点笔记-列表list、元组tuple和dict类型
Python知识点笔记-列表list、元组tuple和dict类型
47 0
python 数据结构 元组 tuple
tuple使用场景 Tuple 比 list 操作速度快。如果您定义了一个值的常量集,并且唯一要用它做的是不断地遍历它,请使用 tuple 代替 list。
1035 0
Python探索记(12)——元组Tuple
# @Time : 2017/7/5 20:54 # @Author : 原创作者:谷哥的小弟 # @Site : 博客地址:http://blog.csdn.net/lfdfhl # @DESC : 元组Tuple ''' 元组Tuple与列表List非常类似,不同之处在于: 1 列表中的元素可以修改,但是元组的元素不能修改。
791 0
+关注
我要学编程
热爱学习,愿意接收新事物,有志称为一个互联网大佬
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Python系列直播第一讲——Python中的一切皆对象
立即下载
Python第五讲——关于爬虫如何做js逆向的思路
立即下载
Python 脚本速查手册
立即下载