Python基础之元组、字典,集合详解

之前总结了Python列表,这篇总结Python的元组,字典和集合。

一 元组 tuple

Python 的元组与列表类似,不同之处在于元组的元素不能修改。

(1)创建元组

列表使用[ ]创建,而元组使用(),元素用 “,” 分割。不使用()也可以表示元组

tup1 = ()  # 空元组
tup2 = ('A', 2, True, 8.8)
tup3 = 'A', 2, True, 8.8

注意:当元组只有一个元素,需要在元素后面添加逗号,否则括号会被当作运算符使用:

tup = (1,)
tup2 = (1)
print(type(tup))  #
print(type(tup2))  #

(2)访问元组

和列表一样,通过索引访问元素,切片等规则同样适用:

tup1 = ('A', 'B', 'C', 'D', 'E')
print(tup1[2])
print(tup1[1:4])

输出:

C
('B', 'C', 'D')

(3)修改元组

元组中的元素值是不允许修改的,但是我们却可以通过对整个元素重新赋值,达到效果:

tup1 = ('A', 'B', 'C', 'D', 'E')

# tup1[0] = "666"  抛异常 TypeError: 'tuple' object does not support item assignment
tup1=('666', 'B', 'C', 'D', 'E')
print('最新的tuple: ',tup1) 

输出

最新的tuple:  ('666', 'B', 'C', 'D', 'E')

(4)常见用法

  • len() 函数,求元组长度
  • in 判断元素是否在元组里
  • for 遍历
  • 切片
    上面这些操作,和列表一样,参照列表写即可。

二 字典 dict

Python字典是一种可变容器,储存一系列键值对,键和值一一对应,可以使用键来访问与之相关联的值。
Python对键的要求是:不可变切唯一,也就是说键只能用str,int等不可变对象。对值没有要求,可以储存任何值。

(1)定义字典

字典的每个键值对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中。

d = {key1 : value1, key2 : value2 }

(2)访问字典

通过键去访问对应的值,如果键不存在,会抛出KeyError:

d = {'name': '小王', 'age': "18"}

print('name: '+d['name'])  #name: 小王
print('age: '+d['age'])  #age: 18
print(d['66']) #KeyError: '66'

也可以动态增加键值对:

d['height']="180"
print(d)  #{'name': '小王', 'age': '18', 'height': '180'}

(3)修改字典

通过键去修改对应的值:

d = {'name': '小王', 'age': '18', 'height': '180'}

d['name'] = '老王'  # 修改

del d['age']  # 删除键值对  pop可以返回删除的值
print(d)

d.clear()  # 清空字典
print(d)

输出:

{'name': '老王', 'height': '180'}
{}

(4)遍历字典

①获取所有键值对信息:
d = {'name': '小王', 'age': '18', 'height': '180'}

for k,v,in d.items():
    print('键为:{},值为:{}'.format(k,v))

输出为:

键为:name,值为:小王
键为:age,值为:18
键为:height,值为:180
②获取所有键的信息:
d = {'name': '小王', 'age': '18', 'height': '180'}

for k in d.keys():
    print('键为:{}'.format(k))
    if k == 'age':
        print("找到你的年龄啦~"+d[k])

输出:

键为:name
键为:age
找到你的年龄啦~18
键为:heit
③获取所有值:
d = {'name': '小王', 'age': '18', 'height': '180'}

for v in d.values():
    print('值为:{}'.format(v))
    if v == '180':
        print("这是height 吧~"+v)

输出:

值为:小王
值为:18
值为:180
这是height 吧~180

三 集合set

集合(set)是一个无序不重复元素的序列。

(1) 创建集合set

有两种方式,使用{ } 或者set(list)方式:

s = set([1, 2, 3, 4])
print(s)

s2 = {1, 2, 3, 4}
print(s2)

s3 = set()  # 空集合,不能用s3={},这是空字典
print(s3)

输出为:

{1, 2, 3, 4}
{1, 2, 3, 4}
set()

(2) 集合基本操作

  • 添加元素,使用add方法,因为set自带去重功能,所以添加重复元素没有效果,或者使用updata,可以添加列表,元组,字典等
s = set()  # 空集合 ,不能用s={},这是空字典
s.add(1)
s.add(1)
s.add(1)
print(s)  # {1}
s.update(['22','33'])
print(s) # {'33', 1, '22'}
  • 删除元素使用remove,或者discard。前者当元素不存在会报错,后者不会。
s=set([1,2,3,4,5])
s.remove(1)
# s.remove(6) KeyError: 6
print(s)  # {2, 3, 4, 5}
s.discard(2)
s.discard(6)
print(s) # {3, 4, 5}
  • pop 方法是随机删除一个元素
  • len 求长度
  • clear 清空set
  • in 判断元素是否存在
  • for 循环

总结出不少东西,但其实常用的没有几个方法。大部分有个印象,用到了再查,要比直接全记住效果好很多~

你可能感兴趣的:(Python基础之元组、字典,集合详解)