Day3

1.dict字典

a.定义

字典是另一种可变容器模型,且可存储任意类型对象。

b.创建

1.通过关键字dict和关键字参数创建

>>> dic = dict(spam = 1, egg = 2, bar =3)
>>> dic
{'bar': 3, 'egg': 2, 'spam': 1}

2.通过二元组列表创建

>>> list = [('spam', 1), ('egg', 2), ('bar', 3)]
>>> dic = dict(list)
>>> dic
{'bar': 3, 'egg': 2, 'spam': 1}

3.dict和zip结合创建

>>> dic = dict(zip('abc', [1, 2, 3]))
>>> dic
{'a': 1, 'c': 3, 'b': 2}

4.通过字典推导式创建

>>> dic = {i:2*i for i in range(3)}
>>> dic
{0: 0, 1: 2, 2: 4}

5.通过dict.fromkeys()创建
通常用来初始化字典, 设置value的默认值

>>> dic = dict.fromkeys(range(3), 'x')
>>> dic
{0: 'x', 1: 'x', 2: 'x'}

6.其他

>>> list = ['x', 1, 'y', 2, 'z', 3]
>>> dic = dict(zip(list[::2], list[1::2]))
>>> dic
{'y': 2, 'x': 1, 'z': 3}

c.字典的方法

1.增加操作
通俗易懂的方法,直接对应键值添加数据

>>> dic = {}
>>> dic[“name”] = “zhangsan”
>>> dic
{‘name’: ‘zhangsan’}

使用setdefault的方法,添加(只在没有键值得时候添加, 并返回对应键的值)

>>>dic = {‘name’: ‘zhangsan’}
>>>dic.setdefault(“name”, “xiaoming”)
‘zhangsan’     # 返回原来键对应的值
>>> dic
{‘name’: ‘zhangsan’}   # 因为原来有name,所以并没有添加成功

>> dic.setdefault(“age”, 18)
18
>>> dic
{‘name’: ‘zhangsan’, ‘age’: 18}   # 添加成功

2.删除操作

>>>dic.popitem()   # 随机删除一个对应的键值,返回删除的

>>>dic.pop(“key”, None)  # 删除指定的键,如果没有返回None

>>> del dic[“key”]  # 指定键删除

>>> dic.clear()  # 清空字典

3.修改操作

>>> dic = {“name”:”zhangsan”}
>>> dic2 = {“age”:2, “name”:”xiaoming”}
>>> dic2.update(dic)
>>> dic2
{‘age’: 2, ‘name’: ‘zhangsan’}

4.查询操作

# 获取字典对应的键的列表

dic.keys()

# 获取字典对应的值得列表

dic.values()

# 获取字典对应的键值对的列表

dic.items()

# 字符串的查找操作,找不到返回None,也就是第二个定义的参数

2.集合

a.特性

集合的特点:有的可变,有的不可变;元素无次序,不可重复。

集合中的元素不能重复,可作为一种简单高效的元素去重方式。

集合没有索引,它的元素无次序,不是序列。

利用set()和{}建立集合时,要求集合中的元素必须是可哈希(hsshable)的,即在利用set()和{}创建集合的时候,集合中的元素必须是不可变的。

利用set()创建的集合是可变集合,它的类型是不可哈希(unhashable)的。对于这句话的理解是,set()创建的集合,整体上是可变的,可以增、删;但集合中的元素(个体)是不可变(hashable)的,不能被修改,且集合中的元素不能是列表、字典等可变类型的对象。

b.创建

方法一:把集合直接赋值给一个变量

>>> num={1,2,3,4}

方法二:使用range对象

>>> a=set(range(1,4))
>>> a
{1, 2, 3}

方法三:直接把列表转化为集合

>>> b=set([1,2,3,4,5,6])
>>> b
{1, 2, 3, 4, 5, 6}

c.方法

1.集合元素的添加add

>>> num={1,2,3,4}
>>> num.add(0)

>>> num
{0, 1, 2, 3, 4, 8}

2.集合元素的删除
方法一:del删除整个集合,同时也会删了集合的变量名

>>> num={1,2,3,4}
>>> del num
>>> num

方法二:使用clear方法清空集合中的元素值,但保留变量的名字,原集合变成了一个空集而已

>>> a = {1, 4, 2, 3}
>>> a.clear()
>>> 
>>> a
set()

方法三:使用remove删除集合中指定的值

>>> b=set([1,2,3,4,5,6])
>>> b
{1, 2, 3, 4, 5, 6}
>>> b.remove(1)
>>> b
{2, 3, 4, 5, 6}
>>> b.remove(2)
>>> b
{3, 4, 5, 6}

方法四:使用pop方法随机从集合中删除了一个值,并返回该删除的值

>>>a = {1, 4, 2, 3}
>>>a.pop()
1
>>>a.pop()
2
>>>a
{3,4}

3.判断语句

用户将登陆界面经常使用多条件判断语句

name = input('请输入用户名:')
if name == "admin":
    print "超级管理员"
elif name == "user":
    print "普通用户"
elif name == "guest":
    print "客人"
else:
    print "不认识你"

4.三目表达式

如果a>b的结果为真,h=“变量1”,如果为假,h=“变量2”

a = 1
b = 2
h = ""
h = "变量1" if a>b else "变量2"
print(h)

5.循环语句

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
语法:
for循环的语法格式如下:

for iterating_var in sequence:
   statements(s)

Day3_第1张图片

for letter in 'Python':     # 第一个实例
   print '当前字母 :', letter
 
fruits = ['banana', 'apple',  'mango']
for fruit in fruits:        # 第二个实例
   print '当前水果 :', fruit
 
print "Good bye!"

以上实例输出结果:

当前字母 : P
当前字母 : y
当前字母 : t
当前字母 : h
当前字母 : o
当前字母 : n
当前水果 : banana
当前水果 : apple
当前水果 : mango
Good bye!

你可能感兴趣的:(Day3)