第四课-列表
1>列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可
list1 = ['Google', 'Runoob', 1997, 2000];
print ("list1[0]:", list1[0])
列表也可以使用切片:原来字符串的切片这里也可以用
list1 = ['Google', 'Runoob', 1997, 2000];
print(list[1:3]);#输出第一个和第三个
print(list1[:]);#输出全部
print(list1[:2]);#输出前两个
print(list1[1:3:1]);#从一开始到三结束,第三个参数是步长
print(list1[-1]);#倒数第一个
print(list1[-1:0]);#为空,第一个参数不能小于第二个参数
print(list1[-1:-3]);#为空,数值默认为1
print(list1[-1:-3:-1]);#添加第三个参数-1,相当于设置读取方向
2>列表的增、删、改、查
(insert,delete,update,query)
list1 = ['Google', 'Runoob', 1997, 2000];
增:list1.insert(4,2001),
list1.append("hello")#相同效果
两个列表还可以进行相加
list1 = ['Google', 'Runoob', 1997, 2000];
list2=['不知啊都','哎斗牛','2018','1000'];
print(list1+list2);
列表1.extend(列表2),是把列表2迭代后追加到列表1,extend()没有返回值
list1=[1,2,3,4,5];
list2=[6,7,8,9,10];
list1.extend(list2);
print(list1);
改:list[2]=2001
删:del list1[2]
list1=[1,2,3,4,5];
list1.pop():把最后一个删除,也可以指定删除的下标
list1.remove("")删除括号中的内容,但只删除一次
示例:
list1=[1,2,3,4,5];
list1.remove(2);
print(list1);
查:list1.index("Runoob")返回查找到的下标,查找不到会报错,find也是查,但查找不到返回-1
示例:
list1=[1,2,3,4,5];
print(list1.index(3));#查找到了,返回下标2
用 in /not in可以查找是否存在
print(2 in list1);#list1中有"2"这个数字,所以返回true
print(1 not in list1);#返回False
#嵌套列表
list1=[1,2,3,4,5];
list2=[['zdc','vxd','zcddx'],[6,7,8,9]];
print(list2[0]);
print(list2[1]);
#小练习:
#定义一个列表,让用户动态输入5个值,遍历输出列表的值
a=[];
for i in range(5):
s=input();
a.append(s);
print(a)
list函数
#1>
len(list)列表元素个数
list=[1,2,3,4,5];
print(len(list));
2>#max(list);(要求数据类型)
#返回列表最大值
list=[1,2,3,4,5];
print(max(list));
min(list);
#返回列表最小值
print(min(list));
#(在布尔类型中,把true当作1,把false当作0)
print(max([True,False]));#True最大
print(min([True,False]));#False最大
#list(seq);将元组转化为列表
#元组:
('1','2','ada','dacs');
print(('1','2','ada','dacs'));
print(list(('1','2','ada','dacs')));#将元组转化为列表
list.append(obj);在列表末尾添加新的对象
list1=['1','3','asd','cf'];
list1.append('hello');#添加新的对象hello
print(list1);
#list.extend();
list1 = ['1', '3', 'asd', 'cf'];
list1.extend(['北京','南极']);
print(list1);
#list.insert(index,obj);
#将对象插入列表,超出位置在列表尾部添加
list1 = ['1', '3', 'asd', 'cf'];
list1.insert(0,'帅哥');
print(list1);
#list.pop(obj=list[-1]);
#移除列表中的一个元素(默认最后一个元素),并且返回该元素的值,参数是下标
list1 = ['1', '3', 'asd', 'cf'];
list1.pop(2);#删除下标为2的元素
print(list1);
#list.remove();
#移除列表中某个值的第一个匹配项
list1 = ['1', '3', 'asd', 'cf'];
list1.remove('cf');#删除元素'cf'
print(list1);
#list.reverse();
#反向列表中元素
list1 = ['1', '3', 'asd', 'cf'];
list1.reverse();
print(list1);
#list.sort([fun]);
#对原列表进行排序
list1 = ['1', '3', '2', '0'];
list1.sort();#没有指定参数,则按默认值排序
print(list1);
#list.clear();清空列表
list3=['a','b','c','d'];
list3.clear();#清空列表内容
print(list3);
#list.copy();复制列表
list3=['a','b','c','d'];
list2=list3.copy();
print(list3);
print(list2);
a=[1,2,3];
b=a;
c=[];
c=a;
d=a[:];
print(d);
#eval();可以把元组,字典,列表类型的字符串转化为元组,字典,列表
var='2,5,23';
r=eval(var);
print(r);
t='1,2,5'
print(type(t));#字符串类型
r=eval(t);
print(r);
print(type(r));#元组类型
#创建一个字典
a={'a':'A','b':'B'};
s=str(a);#字典转化为字符
print(s);
print(type(s));#类型:str
v=eval(s);#字符转字典
print(v);
print(type(v));#类型:dict