python 元组、字典、set

目录

1.Tuple元组====》小括号

初始化后不可修改的List就是Tuple

Tuple之括号歧义

Tuple之可变

tuple元素是变量时,无法改变

tuple元素是列表list

2.Dict字典===>大括号+键名+逗号+键值

3.Set==》大括号+逗号


 

1.Tuple元组====》小括号

初始化后不可修改的List就是Tuple

list是【】,tuple是()

详细:Python Tuple(元组) tuple()方法 | 菜鸟教程 (runoob.com)

>>> t=(1,2)
>>> print(t)
(1, 2)
>>> print(t[0])
1
>>> t.append(3)
Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    t.append(3)
AttributeError: 'tuple' object has no attribute 'append'
>>> t.pop(1)
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    t.pop(1)
AttributeError: 'tuple' object has no attribute 'pop'
>>> t[0]=2
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    t[0]=2
TypeError: 'tuple' object does not support item assignment
>>> 

从上可以看出不能修改

Tuple之括号歧义

>>> t=(1)           #当成表达式来计算
>>> print(t)    
1                   #如果是tuple的话,应该是(1),t为整形变量
>>> t=(1,)          #用逗号声明这是个 tuple,且只有一个元素1;
>>> print(t)
(1,)
>>> 

Tuple之可变

tuple元素是变量时,无法改变

>>> a=1
>>> t=(a,4)
>>> print(t)
(1, 4)
>>> a=3        #改变变量
>>> print(t)   #没有变
(1, 4)           
>>> t=(a,4)    #再次定义
>>> print(t)   #变了
(3, 4)

tuple元素是列表list

>>> t=('hi',['haha',2,4])
>>> print(t)
('hi', ['haha', 2, 4])
>>> t[1].pop(0)            #删除
'haha'                     #删除
>>> print(t)
('hi', [2, 4])             #删除成功
>>> t[1].append('djk')
>>> print(t)
('hi', [2, 4, 'djk'])
>>> 

2.Dict字典===>大括号+键名+逗号+键值

>>> a={'a':1,'name':44}     #{}声明dict,逗号分割元素   '键名':值
>>> print(a)
{'a': 1, 'name': 44}
>>> print(a['name'])         #访问某一元素
44
>>> a['name']=22             #可修改
>>> print(a['name'])
22
>>> print(a.get('name'))    #get()方法的好处是,当a中无name这个键名时,不报错,返回None
22

>>> print(a.get('no'))
None
>>> print(a.get('no',"默认值"))
默认值

>>> a['add']=55              #可添加
>>> print(a)
{'a': 1, 'name': 22, 'add': 55}   #添加内容不一定放到最后,是无序的


#查询某一元素是否在a内
>>> 'add' in a      #语法:    '键名' in dict名
True                #电脑判定给出的答案

>>> a.keys()        #查键名
dict_keys(['a', 'name', 'add'])

>>> del a['name']      # 删除键是'Name'的条目
>>> print(a)
{'a': 1, 'add': 55}

#另
#dict.clear()      # 清空字典所有条目  
#del dict          # 删除字典

特性:

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住

2)键必须不可变,所以可以用数字,字符串或元组充当,所以用列表list就不行

字典内置函数&方法:Python 字典(Dictionary) | 菜鸟教程 (runoob.com)

3.Set==》大括号+逗号

>>> L={'a','b','a'}
>>> print(L)
{'b', 'a'}
>>> s=set(L)  
>>> print(s)
{'b', 'a'}
>>> s.add('c')
>>> print(s)
{'b', 'c', 'a'}
>>> s.add('c')      #dict键名重名会覆盖,添加一样的,Set中无重复的键名
>>> print(s)
{'b', 'c', 'a'}

#删除
>>> s.remove('c')
>>> print(s)
{'b', 'a'}

#不能添加列表list
>>> s.add([1,2,3])
Traceback (most recent call last):        #报错了
  File "<pyshell#31>", line 1, in <module>
    s.add([1,2,3])
TypeError: unhashable type: 'list'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值