总结元组类型和字典类型
- 元组
- 它是序列结构,但是是一种不可变的序列,类似于内容不可变的列表。其内部元素不可修改,元组和列表的用法差不多
- 元组的创建: ```python 创建一个元组,只要用逗号分隔 不同的数据元素使用小括号括起来 类如 : tup = (1,2,’st’) tup1 = (1,)
除此之外,我们还可以直接通过 tuple() 来进行创建元组
tuple(iterable)
iterable: 可迭代对象:如字符串,列表,元组,字典等,
通过for in
语句将其中的内容拿出的过程为迭代
- 元组的操作- 元组的创建```python创建一个元组,只要把 逗号 分隔 不同的数据元素 使用 小括号 括起来类如 : tup = (1,2,'st') tup1 = (1,)除此之外,我们还可以直接通过 tuple() 来进行创建元组tuple(iterable)iterable: 可迭代对象:如字符串,列表,元组,字典等,通过for in语句将其中的内容拿出的过程为迭代
- 元组的删除
元组是不可变的,其中的元素都不可以进行修改(一级元组)和删除如果要对元组增加一个元素只能创建一个新的元组,用加法操作如 tup = (1,2,3,【4,5】)那么,可以对 tup【3】【】内的元素进行修改元组没有任何会对内部元素发生 修改 动作的方法。元组没有 remove,append,pop 等方法注意: 元组所消耗的内存比列表少!
字典
Python 的字典数据类型是基于hash散列算法实现的,采用键值对 (key:value) 的形式,
根据 key 的值计算 value 的地址,具有非常快的查取和插入速度。
它是一种可变对象,所以支持修改,插入,删除等操作。- 字典的创建
```python
常用的创建 {} {key:value,key2:value2}
或者用 dict(**kwargs)例子: dic1 = dict(name=’三’,age=18) dict(mapping) 例子: dic2 = dict([(name,’三’),(age,18)]) dict(iterable) 例子: dic3 = zip(‘abcde’,’36845’) dict(dic3) {‘a’: ‘3’, ‘b’: ‘6’, ‘c’: ‘8’, ‘d’: ‘4’, ‘e’: ‘5’}
- 字典的创建
```python
常用的创建 {} {key:value,key2:value2}
注意: 在python3.6开始,字典对象会保持键值插入时的 顺序,并且其包含的 元 素个数不限, 值的类型 也可以是其它 任何数据类型。 字典的 key 必须是 不可变的对象: 例如整数、字符串、bytes 和元组,但使 用最多的还是字符串。 列表、字典、集合等就不可以作为 key。 同时,同一 个字典内的 key 必须是唯一 的,但值则不必。
扩展map()与zip()
map(func,*iterable) 将iterable(可迭代对象)内的对象逐个传入func(函数或方法)里处理
1.map()方法,它返回的是一个迭代器
例子:
a = [‘name’, ‘张三’, ‘age’, 18]
print(tuple(map(str,a)))
(‘name’, ‘张三’, ‘age’, ‘18’)
<a name="Zi5gI"></a>### 作业2li1 = ['name', 'age', 'address'] <br /> li2 = ['moumou', 18, 'hunan'] <br /> 将 li1 与 li2 以键值对方式呈现 <br /> 建议:如果有对函数了解的,建议用 map方法试一下```pythonli1 = ['name', 'age', 'address']li2 = ['moumou', 18, 'hunan']print(dict(zip(li1,li2)))
作业3
li = {‘name’: ‘qianan’, ‘age’: 18, ‘address’: ‘hunan’}
打印 li 列表的key与value值
li = {'name': 'qianan', 'age': 18, 'address':'hunan'}for i in li.items():print(i)print(li.keys())print(li.values())
