python列表的常用操作

列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型.比如JS中的数 组, java中的数组等等. 它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型: 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类

型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:

li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]

列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。

1.列表的创建

 1 # 创建一个列表有三种方式:
 2 
 3 # 方式一:(常用)
 4 l1 = [1, 2, '太白']
 5 
 6 # 方式二:(不常用)
 7 l1 = list()  # 空列表
 8 # l1 = list(iterable)  # 可迭代对象
 9 l1 = list('123')
10 print(l1)  # ['1', '2', '3']
11 
12 # 方式三:列表推导式
13 l1 = [i for i in range(1,5)]
14 print(l1)  # [1, 2, 3, 4]

2.列表的索引切片

1 l1 = ['a', 'b', '太白', 3, 666]
2 print(l1[0])  # 'a'
3 print(l1[-1])  # 666
4 print(l1[1:3])  # ['b', '太白']
5 print(l1[:-1])  # ['a', 'b', '太白', 3]
6 print(l1[::2])  # ['a', '太白', 666]
7 print(l1[::-1])  # [666, 3, '太白', 'b', 'a']
li = [1, 3, 2, "a", 4, "b", 5,"c"]
通过对li列表的切片形成新的列表l1,l1 = [1,3,2]
通过对li列表的切片形成新的列表l2,l2 = ["a",4,"b"]
通过对li列表的切片形成新的列表l4,l4 = [3,"a","b"]
通过对li列表的切片形成新的列表l6,l6 = ["b","a",3]
练习题

3.增  append();insert();extend()

# append 追加,给列表的最后面追加一个元素
l = [1, 2, 'a']
l.append(666)
print(l) # [1, 2, 'a', 666]

# insert  插入在列表的任意位置插入元素
l = [1, 2, 'a']
l.insert(1,'太白')
print(l) # [1, '太白', 2, 'a']

# extend  迭代着追加,在列表的最后面迭代着追加一组数据
l = [1, 2, 'a']
l.extend('太白a')
print(l)

列表的增

4.删  pop(index) , remove(value) , clear() , del

 1 # pop  通过索引删除列表中对应的元素,该方法有返回值,返回值为删除的元素  默认删除最后一个元素
 2 l = ['太白', 'alex', 'WuSir', '女神']
 3 ret = l.pop(1)
 4 print(ret,l) # alex ['太白', 'WuSir', '女神']
 5 
 6 # remove  通过元素删除列表中该元素
 7 l = ['太白', 'alex', 'WuSir', '女神']
 8 l.remove('alex')
 9 print(l) # ['太白', 'WuSir', '女神']
10 
11 # clear 清空列表
12 l = ['太白', 'alex', 'WuSir', '女神']
13 l.clear()
14 print(l) # []  
15 
16 # del
17 #按照索引删除该元素
18 l = ['太白', 'alex', 'WuSir', '女神']
19 del l[2]
20 print(l) # ['太白', 'alex', '女神']
21 
22 # 切片删除该元素
23 l = ['太白', 'alex', 'WuSir', '女神']
24 del l[1:]
25 print(l) # ['太白']
26 
27 # 切片(步长)删除该元素
28 l = ['太白', 'alex', 'WuSir', '女神']
29 del l[::2]
30 print(l) # ['alex', '女神']
31 
32 列表的删

5.改  

# 按照索引改值
l = ['太白', 'alex', 'WuSir', '女神']
l[0] = '男神'
print(l) # ['男神', 'alex', 'WuSir', '女神']

# 按照切片改值(迭代着增加)
l = ['太白', 'alex', 'WuSir', '女神']
l[1:3] = 'abcdefg'
print(l) # ['太白', 'a', 'b', 'c', 'd', 'e', 'f', 'g', '女神'] 

# 按照切片(步长)改值(必须一一对应)
l = ['太白', 'alex', 'WuSir', '女神']
l[::2] = '对应'
print(l) # ['对', 'alex', '应', '女神']

列表的改

6.查

切片去查,或者循环去查。 

7.公共方法

len()

count(value)

index(value)  列表只有此方法,元素不存在报错

8.排序  sort()正向排序

反向排序 sort(reverse = True)

ps:若一个列表全是字符串,该如何排序?  ----根据字符串首字母在ASCII码中的顺序进行排序。

9.列表反转 reverse()

 

二、列表的嵌套

li = ['taibai','武藤兰','苑昊',['alex','egon',89],23]

# print(li[1][1])      找 '藤'
# name = li[0].capitalize()
# # print(name)
# li[0] = name
# li[0] = li[0].capitalize()
# li[2] = '苑日天' # print(li[2].replace('昊','ritian')) # li[2] = li[2].replace('昊','ritian') # li[3][0] = li[3][0].upper() # print(li)

 

posted @ 2019-09-04 22:50  KeepMoving2018  阅读(362)  评论(0编辑  收藏  举报