列表
列表使用,用中括号[],表示,类似于C,C++中的数组,只不过列表中的元素可以是整型,浮点型,字符串。(没错,什么都可以放)列表的原理类似于栈,能够添加元素,能够使用栈的一些方法。
列表的创建
方法 | 解释 | 例子 |
---|---|---|
[] | 直接创建 | list1=[10,20,30,40,50] |
list() | 间接创建 | list2=list([1,2,3,4,5]) |
列表生成式(用于创建比较有规律的列表)
e.g:
lst=[i for i in range(1,10)] #生成1~9的列表
#第一个i表示列表元素的表达式
列表的添加
方法 | 含义 | 例子 |
---|---|---|
append (point) | 向末尾添加一个元素 | list1.append(33) |
extend(list) | 向元素中添加一个列表 | list1.append(list2) |
insert(参数1,参数2) | 参数1:向列表中添加元素的位置,参数2:向元素中添加的元素 | list1.insert(0,100) |
例子:
b=[1,3,'five',99]
print(b)
b.append(77)
print(b)
c=[33,99,12]
b.extend(c)
print(b)
b.insert(0,100)
print(b)
"""
输出结果
[1, 3, 'five', 99]
[1, 3, 'five', 99, 77]
[1, 3, 'five', 99, 77, 33, 99, 12]
[100, 1, 3, 'five', 99, 77, 33, 99, 12]
"""
列表的删除
方法 | 含义 |
---|---|
remove() | remove()元素 |
del() | 删除列表 |
pop() | 以索引方式删除元素,没有参数,删除最后一个元素(栈的原理) |
clear() | 清空列表 |
切片 | e.g: list[1:3]=[] |
例子:
b=[1,3,'five',99,100]
print(b)
b.remove(100)
print(b)
del b[:2]
print(b)
b.pop()
print(b)
'''
运行结果
[1, 3, 'five', 99, 100]
[1, 3, 'five', 99]
['five', 99]
['five']
'''
列表的查找/修改
e.g list1=[10,20,30,40,‘hello’,‘world’]
方法 | 含义 | 例子 |
---|---|---|
index(元素) | 可以使用index(元素) ,放回索引号 | list1.index(‘hello’) |
index(start,stop) | 放回多个元素 | print( list1.index(1,3)) |
[] | 索引方式进行查找 | list1[2] |
注意:负数查找 N为列表长度
list[-N:0]=list[0,N]
即 list1[-N]=list1[0]
列表的修改 使用切片和索引方式,就不过多展开了。
列表的排序
方法 | 含义 | 例子 |
---|---|---|
sort() | 排序,默认从小到大(reverse为false),并且不会产生新的列表,可以通过设置reverse=true使其从大到小 | list1.sort();list1.sort(reverse=true) |
sorted() | 会产生新的列表对象 | list2=sorted(list1,reverse=true) |
列表分片
python较于其他语言来说相对较方便,简洁,尤其是别表的使用更加的符合人类的使用习惯。
列表分片在于能过取出列表中的一部分元素,而且相对较简单
两个原则
1.默认是从下标为0开始的。
2.列表相加指的是列表中添加元素
five=[99,'true','jiayou',100,'10086','没本事']
print(five)
print(five[1:3])
print(five[:2])#从0开始
print(five[2:])#到末尾结束
'''
[99, 'true', 'jiayou', 100, '10086', '没本事']
['true', 'jiayou']
[99, 'true']
['jiayou', 100, '10086', '没本事']
'''
e.g!!!
重新建立一个列表的小坑
list=list1[:] #(√)重建一个列表
list=list1 #(×)类似于指针,指向同一个列表,该表时一起改变
几种列表操作符
操作符 | 含义 |
---|---|
+ | 连接 |
* | 重复 |
in | 在,返回值为boolean |
not in | 不在,返回值为boolean |
goal=[100,99,89,89,98]
name=['James','mike','Jim','Maria','joe']
namegoal=goal[:]+name[:]
print(namegoal)
goal*=3
print(goal)
'''
[100, 99, 89, 89, 98, 'James', 'mike', 'Jim', 'Maria', 'joe']
[100, 99, 89, 89, 98, 100, 99, 89, 89, 98, 100, 99, 89, 89, 98]
'''
>>> 100 in goal
True
>>> 100 not in goal
False
列表的常用方法
方法 | 含义 |
---|---|
count(参数1) | 计算参数1在列表出现的次数 |
index(元素,start,stop) | 计算元素在[start,stop)出现的位置,start,stop参数可以省略,默认从开始 |
reverse() | 数组翻转 |
sort(参数) | 排序(默认从小到大,参数为False,从大到小,换为reverse=True) |
sorted() | 功能同上,只是实现过程有所区别 |
goal=[100,999,123,89,23,100,999]
>>> goal.count(999)
2
>>> goal.index(23)
4
>>>
>>> goal.reverse()
>>> goal
[999, 100, 23, 89, 123, 999, 100]
>>> goal.sort()
>>> goal
[23, 89, 100, 100, 123, 999, 999]
>>> goal.sort(reverse=True)#首字母大写True
>>> goal
[999, 999, 123, 100, 100, 89, 23]
>>> sorted(goal)
[23, 89, 100, 100, 123, 999, 999]