python_day3列表、元组、字典
一、列表
定义:[ ] 内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素
特性:
> 可存放多个值
> 可修改指定索引位置对应的值,可变
> 按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序
1.1列表创建
list 表示列表类型
list1=[ ] #空列表
list2=[1,2,3,4]
list3=['a','b','c'] #有元素列表
1.3 列表拼接
2.列表常用的操作
索引(索引取值)
第一位元素的索引号对应的是0,以此类推
索引号-1 ,表示取值列表里的最后一位,-2就是倒数第二个元素,以此类推
切片
list1[:2] 切列表前两个元素
list1[3:] 从列表第三个元素开始切
list1[2:4] 切列表第二个元素到第四个元素之间的元素
切片操作是读操作,并不会修改列表的元素
ha=list1[:] [:]相当于copy了一个新列表
追加
list1.append() 向列表追加一个元素
补充:队列
入队列:先进先出
删除
list3.pop() 默认是随机删一个元素
list3.pop(1) 指定删除的元素的索引号,而我所指定的索引号为1,删除2
出队列:堆栈:先进后出
list3.remove() 删除指定的元素
del list3[ ] 指定索引号,删除元素
插入
list1.insert() 根据索引号,元素插入到指定位置
长度
用内置函数len(),可以统计列表的长度以及列表元素的长度
循环
for循环通过索引遍历列表
1
2
3
4
5
6
7
8
9
10
|
list1 = [ 1 , 2 , 'aa' , 'hello' , 'sb' ] for i in range ( len (list1)): print (list1[i]) 结果: 1 2 aa hello sb |
while循环通过索引遍历
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
index = 0 while index< len (list1): print (list1[index]) index + = 1 结果: 1 2 aa hello sb index = 0 while index< len (list1): print (list1[index],end = ' ' ) #end='' 不换行打印, <br>#' ' 有一个空格,不换行隔一个空格打印 index + = 1 1 2 aa hello sb |
包含
二、 元组
定义:元组的元素可以是任意数据类型
特性:不可变
1.创建元组
type() 查看类型
t=() 创建一个空元组
只有一个元素的话,元素后面要加逗号 ,不然不是元组类型。(int是整数类型,str是字符串类型)
2.元组的常用操作
索引:和列表用法相似,看元组第一张图
切片:
循环
1
2
3
4
5
6
7
8
9
10
11
12
13
|
t = ( 'a' , 1 , 2 , 'sb' ) for i in range ( len (t)): print (t[i]) a 1 2 sb index = 0 while index < len (t): print (t[index]) index + = 1 |
长度
和列表用法一样
包含
元组类型的方法
t.count()
t.index()
三、字典
1.字典定义的基本形式:key:value
例:d={'name':'buer','age':'18'}
定义字典需要注意的问题:key必须是不可变类型,或者说是可hash类型
2.字典的取值,字典是无序的
通过key取value
循环
d.keys()取key ,d.values() 取value
for循环取值
1
2
3
4
5
6
|
d = { 'name' : 'buer' , 'age' : '18' } for k in d: print (k,d[k]) #k表示key,d[k]表示value name buer age 18 |
更改或追加字典的value值
.pop()删除需要指定key值
d.popitem() 随机删除一对key:value
长度
成员运算
总结
1.可变不可变
可变:列表,字典
不可变:数字,字符串,元组
2.存放值的个数
一个值:数字,字符串
多个值(容器类型):列表,元组,字典
3.取值方式
直接取值:数字
序列类型:字符串,元组,列表
映射类型:字典