列表和元组已学习,字典会更新
列表和元组的区别:
列表 :元素可修改,不同类型,切片,嵌套,删除、增加元素,修改元素,寻找成员等。。
书写形式: LIST=[ ‘A’,‘B’,变量,列表,字符串 ]等
元组:元素不可修改!!!,不同类型,切片,连接等,无法进行元素的操作。。
书写形式:Tuple = ( ‘A’,‘B’,变量,列表,字符串)一旦确定元素,无法修改,变量也无法修改
但是!!!列表里边的元素是可以修改的,这个列表无法改成其他的列表,因为这个列表是这个元组的元素,
但是列表里的元素是属于列表的,所以可以进行列表的相关操作!!!
还有,当元组只有一个元素时,需要在元素后边加逗号隔开来区分
上代码
列表:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
'''
python中的列表也叫序列,很像C语言里的一维数组,有下标
但是python中的列表可以进行检查成员、切片、加、乘,并且是用方括号来表示 方括号 方括号 方括号!!!
也内置了确定序列的长度以及大小的方法
列表的书写形式可以是方括号里边逗号隔开
注意:列表里边的成员不需要具有相同的数据类型,
比如 一个列表里边可以包含 数字、字符串、字符、函数、变量等等
'''
A = 0x02
List = [0, 'Gray', A, '18']
print(List)
'''
列表切片、访问成员
'''
list = ['Gray', 'Anna', 'Jim', 'Pual']
list1 = [15, 50, 36, 48]
print(list[2:])
print(list1[:-2])
'''
列表更新,替换列表里边的成员
'''
list2 = ['Gray', 'Anna', 'Jim', 'Pual']
list3 = ['Jack', 852, '加油']
list2[2] = list3[:] # 列表嵌套 列表里边还有列表
print(list2)
print(list2[2][2]) # 第一个是第一层列表的索引,第二个是第二层列表里边的索引
'''
列表删除
主要用到 del方法
'''
del list2[2] # 删除 列表里边的第二层列表
print(list2)
'''
重头戏 列表的方法
1.list.append(obj) 末尾添加新的对象
2.list.count(obj) 统计某个元素出现的次数
3.list.extend(seq)末尾添加新的列表,用新的列表扩展
4.list.index(obj)找出列表元素的索引
5.list.insert(index,obj)在某个位置插入元素
6.list.pop([index = -1])删除列表的某个元素,默认最后一个,并返回该元素
7.list.remove(obj)移除列表中的某个指定元素
8.list.revers()反向列表
9.list.sort(cmp=none,key=none,reverse=false)对列表进行排序(升序降序)
10.list.lear()清空列表
11.list.copy() 复制列表
'''
I_List = ['Gray', 'Anna', 'Jim', 'Pual']
J_List = [1, 2, 4, 1, 5, 4, 8, 2, 8, 75, 1, 6, 5, 21, 4, 2, 1]
I_List.append('TIMI') # 先添加元素进去 再打印
count = J_List.count(1) # 把次数存在变量中
I_List.extend(J_List) # 直接加入新的列表
Num = I_List.index(1)
I_List.insert(4, 'Simen') # 在某个位置插入元素
I_List.pop(4) # 删除指定位置的元素
I_List.remove('TIMI') # 删除某个元素
# I_List.reverse() #反向元素
# I_List.clear() # 列表清0
print(I_List)
print(Num)
arr = [{'name': 'Gray', 'age': 22}, {'name': 'Jack', 'age': 20}]
arr1 = arr.copy()
del arr[1]
arr[0]['age'] = 50
arr.sort()
print(arr)
print(arr1)
结果:
C:\Users\Mr.Yellow\Desktop\PYTHON工程\venv\Scripts\python.exe C:/Users/Mr.Yellow/Desktop/PYTHON工程/第四天_列表、元组、字典/列表.py
[0, 'Gray', 2, '18']
['Jim', 'Pual']
[15, 50]
['Gray', 'Anna', ['Jack', 852, '加油'], 'Pual']
加油
['Gray', 'Anna', 'Pual']
['Gray', 'Anna', 'Jim', 'Pual', 1, 2, 4, 1, 5, 4, 8, 2, 8, 75, 1, 6, 5, 21, 4, 2, 1]
5
[{'name': 'Gray', 'age': 50}]
[{'name': 'Gray', 'age': 50}, {'name': 'Jack', 'age': 20}]
Process finished with exit code 0
元组:
'''
元组和列表很相似,但是元组一旦建立,其在内部的元素不能改变,
注意,是其内部的元素不能改变,其书写形式 为 ARR = () 括号来表示
也可以用双引号来表示,不用括号
如: arr = ( 'a', 't', '5' )
里边的 a t 1 不能修改 一定要注意!!!
但是 如果元素是列表,列表里边的元素是可以改变,但是这个列表不能改变!
另外,当元组只有一个元素的时候,要在元素后边加逗号区分,否则PYTHON将会把他当成运算符来用!
如 arr = (‘m’,)
'''
arr = "A","B","C" # 这样表示也可以 但是为了能方便区分,还是建议用括号来写
ARR = ( 'A','B','C',5 )
print(ARR)
'''
元组的元素也是不指定类型,可以有不同的类型
实测变量无法修改 ,但是列表内容可以修改
'''
pre = 123
List = [ 456, 111, 'time' ]
Tuple = ('Gray',ARR,pre,List)
print(Tuple)
pre = 112
List[2] = 'Now' # 修改列表里边的内容
List.append('newitem') # 增加列表元素
del List[2:] # 删除列表元素
print(Tuple)
'''
重点函数:Tulpe(seq) 将列表转换成元组,
因为元组里的元素不能修改,会让代码更加稳定,所以,能用元组就不用列表!!!
'''
N_LIST = ['Gray', 'Anna', 'Jim', 'Pual']
M_LIST = tuple(N_LIST) # 将列表转换为元组
print(N_LIST)
print(M_LIST)
结果:
C:\Users\Mr.Yellow\Desktop\PYTHON工程\venv\Scripts\python.exe C:/Users/Mr.Yellow/Desktop/PYTHON工程/第四天_列表、元组、字典/元组.py
('A', 'B', 'C', 5)
('Gray', ('A', 'B', 'C', 5), 123, [456, 111, 'time'])
('Gray', ('A', 'B', 'C', 5), 123, [456, 111])
['Gray', 'Anna', 'Jim', 'Pual']
('Gray', 'Anna', 'Jim', 'Pual')
Process finished with exit code 0