Python初学笔记(3)

前言

今天下午我学习了Python的循环、流程控制和剩下的两种数据类型:字典和集合。因为之前学过Java的缘故,学起来都比较容易,在这里写下来以后回顾以及方便大家一起学习。

1.1 字典 dict
1.2 集合 set
总结

1.1 字典 Dict

字典 dict 使用键-值(key-value)存储,用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中类似Java中的map。

#格式一般如下
dict = {
     key1 : value1, key2 : value2 }

dict = {
     'a':1,'b':2,'c':3,'b':4(1,2):5}
print(type(dict))
print(dict)

#控制台输出
<class 'dict'>
{
     'a': 1, 'b': 4, 'c': 3,(1,2):5}

从上面可以看出,键一般是唯一的,当后面有重复的键添加时,会覆盖之前的键。(这一点也和java中的map类似)。
且dict的键必须是不可变的,如字符串,数字或元组。不过我现在不太懂dict的键使用元组有什么用,元组好像也不能拆分,而且元组中的数据类型也必须是不可变的。
而如果用get方法用字典里没有的键访问数据,会返回None。

dict = {
     'a':1,(2,3):(6,7),'c':3,'b':4}
print(dict.get('haha'))

#控制台输出
None

如果直接取某个键的值,则会报错。

dict = {
     'a':1,(2,3):(6,7),'c':3,'b':4}
print(dict[22])

#控制台输出
File "Test3.py", line 2, in <module>
    print(dict[22])
KeyError: 22

也可以用 in 判断该键是否存在,返回一个布尔类型的值。

dict = {
     'a':1,(2,3):(6,7),'c':3,'b':4}
print(22 in dict)
print('c' in dict)  
#在Python中,如果键是str类型,引用时必须要加引号,不然会报错

#控制台输出
False
True

Python字典包含了以下内置函数
Python初学笔记(3)_第1张图片
Python字典包含了以下内置方法:
Python初学笔记(3)_第2张图片

1.2 集合 Set

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。 要创建一个set,需要提供一个list作为输入集合:
set = set([1,2,3,2])
print(type(set))
print(set)

#控制台输出
<class 'set'>
{
     1, 2, 3}

两个set比较可以直接做加减。

set1 = set([1,2,3,2])
set2 = set([1,2,3,2,5])
print(set2-set1)
print(set1-set2)

#控制台输出
{
     5}
set()

此外,还有交集&,和并集 | 。

set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。试试把list放入set,看看是否会报错。

总结

今天下午公司的任务完成之后只能整理这么多了,其他的下次整理吧,明天就是周末了,终于暂时解放了,大家周末快乐!

你可能感兴趣的:(python)