Python入门(1)第四章

本文为笔记干货,版权来源Stream_,建议配合其他教程使用,增添了一些自己的思考和实验。
建议知识获取https://github.com/jackfrued/Python-100-Days/tree/master/Day01-15 本文为该来源的笔记


一、元组

元组和列表不同,列表可更改,元组不可更改,用于返回多值,获取安全的线程

  • 创建元组
t = ('Tom', 18, True, 'America')

注意是括号,列表是方括号,同列表一样可以直接访问

  • 将元组变为列表
t = ('Tom', 18, True, 'America')
person = list(t)
  • 将列表变为元组
fruits_list = ['apple', 'banana', 'orange']
fruits_tuple = tuple(fruits_list)

二、集合

不允许有重复元素,而且可以进行交集、并集、差集等运算。
用的是大括号

set1 = {1, 2, 3, 3, 3, 2}
print(set1)
# {1, 2, 3}
  • update()
    将集合或元素添加进集合里,如果有重复的会忽略
    (注意和add有区别,update将拆分为最小单元,例中把morning拆分为每一个字母,可以和下边的add对比看)
bSet=set('good')
bSet.update('morning')
#  {'d', 'g', 'i', 'm', 'n', 'o', 'r'}
  • add()
    将元素添加进集合里,如果有重复的会忽略
    (注意和update有区别,add将其看做一个整体元素,如例题中的morning,可以和上边的update对比看)
aSet=set('good') 
aSet.add('morning')
# {'d', 'g', 'morning', 'o'}
  • discard()
    删除指定元素,如果未找到会报错
set2 = set(range(1, 10))
set2.discard(5)
# {1, 2, 3, 4, 6, 7, 8, 9}
  • 集合的交集、并集、差集、对称差运算
set1 = {1, 2, 3, 3, 3, 2}
# {1, 2, 3}
set2 = set(range(1, 10))
# {1, 2, 3, 4, 5, 6, 7, 8, 9}

# 交集
print(set1 & set2)
# print(set1.intersection(set2))
# {1, 2, 3}

# 并集
print(set1 | set2)
# print(set1.union(set2))
# {1, 2, 3, 4, 5, 6, 7, 8, 9}

# 差集,set1里的元素去除掉set2里的元素
print(set1 - set2)
# print(set1.difference(set2))
# 结果为:set()

# 对称差运算,两个集合中只属于一个集合的元素,但是不属于另一个集合的元素
print(set1 ^ set2)
# print(set1.symmetric_difference(set2))
# {4, 5, 6, 7, 8, 9}
  • 子集和超集
set1 = {1, 2, 3, 3, 3, 2}
set2 = set(range(1, 10))

# set2是否是set1的子集,是否set2的每一个元素,set1中都有
print(set2 <= set1)
# print(set2.issubset(set1))
# False

# set1是否是set2的超集,是否set2的每一个元素,set1中都有
print(set1 >= set2)
# print(set1.issuperset(set2))
# False

三、字典

字典是另一种可变容器模型,它可以存储任意类型对象,
与列表、集合不同的是,字典的每个元素都是由一个键和一个值组成的“键值对”,键和值通过冒号分开。

  • 创建字典
    key和value值一一对应,如果有字符串型的,直接用所有地方都要加双引号
scores = {'Cat': 95, 'Dog': 78, 'Monkey': 82}
  • 更新字典中的元素
    注意Cat前后是有引号的
scores['Cat'] = 65
  • .update()
    添加新的key-value对应键值对,注意这里是没有字符串的双引号的
scores = {'Cat': 95, 'Dog': 78, 'Monkey': 82}
scores.update(Mouse=67, Pig=85)
# {'Cat': 95, 'Dog': 78, 'Monkey': 82, 'Mouse': 67, 'Pig': 85}
  • .get()
    获取指定key的value值
scores = {'Cat': 95, 'Dog': 78, 'Monkey': 82}

# 如果get有确定的键值对,直接输出value值
print(scores.get('Cat'))
# 95

# 如果get没有确定的键值对,返回None
print(scores.get('Mouse'))
# None

# 设置默认值,如果没找到指定的key值,则返回默认值,但是执行完这条语句,原字典不会发生改变
print(scores.get('Mouse', 60))
# 60

#设置默认值,如果找到了指定的key值,不管默认值,直接返回正确的值
print(scores.get('Cat', 60))
# 95
  • .popitem()
    删除末尾元素,没有参数,如果只剩一个元素,接着使用popitem,则字典会变为空字典
scores = {'Cat': 95, 'Dog': 78, 'Monkey': 82}

print(scores.popitem())
# ('Monkey', 82)
print(scores)
# {'Cat': 95, 'Dog': 78}

print(scores.popitem())
# ('Dog', 78)
print(scores)
# {'Cat': 95}

print(scores.popitem())
# ('Cat', 95)
print(scores)
# {}
  • .pop()
    删除括号内指定key的key-value键值对,如果没找到,程序会报错,但可以指定默认值
scores = {'Cat': 95, 'Dog': 78, 'Monkey': 82}

print(scores.pop('Cat'))
# 95
print(scores)
# {'Dog': 78, 'Monkey': 82}

print(scores.pop('Mouse',60))
# 60
print(scores)
# {'Cat': 95, 'Dog': 78, 'Monkey': 82}
  • .clear()
    清空字典
scores = {'Cat': 95, 'Dog': 78, 'Monkey': 82}

scores.clear()
print(scores)
# {}

你可能感兴趣的:(Python入门(1)第四章)