51学通信论坛2017新版
标题:
1.10 列表的使用
[打印本页]
作者:
爱卫生
时间:
2017-12-12 20:51
标题:
1.10 列表的使用
本帖最后由 爱卫生 于 2017-12-12 22:35 编辑
1 列表的定义
(列表的源代码文件是builtin.py,可以查看源代码是如何定义的,加深理解)
列表是一种python数据类型,用中括号[]表示。可以为空值。
代码:
names=["zhangsan","lisi","wangwu","zhaoliu"]
print(names)
print(names[1],names[3]) # 从0开始编号。取1和3号的值
print(names[1:3]) #这个动作叫切片。从编号1开始取,取3个,但不包括最后1个,即不取尾。所以取到2个值。
print(names[-1]) #取最后一个值,用-1表示位置
print(names[-2]) #取倒数第二个值。
print(names[-3:-1])#取最后2个值。注意不包括最后一个。因为有不顾尾原则。
print(names[-3:])#取最后3个值。
复制代码
结果:
['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
lisi zhaoliu
['lisi', 'wangwu']
zhaoliu
wangwu
['lisi', 'wangwu']
['lisi', 'wangwu', 'zhaoliu']
复制代码
2 列表的追加
names.append(
"alice"
) #插到末尾names.insert(2,"bob") #从位置2开始插入,插入bob
执行结果为:
['zhangsan', 'lisi', 'bob', 'wangwu', 'zhaoliu', 'alice']
3 列表的替换
names[2] = "clark" # 直接把位置2的值替换为clark。
4 列表的删除(3种方法)
names.remove("alice") #删除列表中alice。需要注意,程序是从左往右搜索,找到一个alice后就删除,不会再执行。后面还有alice也不会删除了。
del names[1] #删除列表中位置为1的值。
names.pop() #删除列表中位置最后的那个值。
names.pop(2) #删除列表中位置2的那个值。
5 列表的索引查找
names.index("alice") #返回alice在列表中的位置
6 列表中重复数值的统计
names.count("alice") #统计列表中一共有几个alice
7 列表的重置
names.clear() #将列表重置为一个空列表[]
8 列表的顺序颠倒
names.reverse() #将列表中元素反向,如[1,2,3]改为[3,2,1]
9 列表的排序
names.sort() #默认规则是按照首字母大小写排序
names=["1zhangsan","2lisi","#wangwu","zhaoliu","alice"]
names.sort()
print(names)
复制代码
结果:
['#wangwu', '1zhangsan', '2lisi', 'alice', 'zhaoliu']
可以看出,特殊字符>数字>大写字母>小写字母。这个排序规则是ASCII码默认的排序规则。
10 列表的扩展(合并)
names.extend举例:
names=["aaa","bbb","ccc","ddd","eee"]
names1=["fff","ggg","hhh","iii"]
names.extend(names1)
print(names)
del names1
print(names)
复制代码
结果:
['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff', 'ggg', 'hhh', 'iii']
['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff', 'ggg', 'hhh', 'iii']
复制代码
可以看到,合并以后,即使删掉names1,也对已经合并的结果没有任何影响。
欢迎光临 51学通信论坛2017新版 (http://bbs.51xuetongxin.com/)
Powered by Discuz! X3