列表

列表(list)是一种有序的集合,可以随时添加和删除其中的元素, 列表中元素的数据类型可以不一致。

1.列表的定义:[ ]

stus = ['zhangsan', 'lisi', 'wangwu']
stu = ['lisi', 18, 'f', 99.5]
print(stus, type(stus))
print(stu)
输出结果:
['zhangsan', 'lisi', 'wangwu'] <class 'list'>
['lisi', 18, 'f', 99.5]

2.列表长度:列表中元素的个数。

len(列表名)

stus = ['zhangsan', 'lisi', 'wangwu']
print(len(stus))
输出结果:3

3.列表中元素的访问:下标法

print(stus[1])

注意:下标的大小:0~len(列表名)-1,

           最后一个元素的访问:使用-1作为下标。

stus = ['zhangsan', 'lisi', 'wangwu']
print(stus[1])
输出结果:lisi

列表中的元素也可以是列表

arr = [[1,2], [3, 4], [5, 6]]
print(len(arr))
print(arr[2][1])
输出结果:
3
6

4.列表的切片

#返回从起始位置到索引位置 2 处的列表切片

s = [1,2,3,4,5,6,7,8,9]
print(s[:3])
输出结果:[1, 2, 3]

# 返回从第三个索引位置到结尾的列表切片

s = [1,2,3,4,5,6,7,8,9]
print(s[3:])
输出结果:[4, 5, 6, 7, 8, 9]

# 列表逆序输出

s = [1,2,3,4,5,6,7,8,9]
print(s[::-1]) 
输出结果:[9, 8, 7, 6, 5, 4, 3, 2, 1]

# 输出从开始位置间隔一个元素组成的列表

s = [1,2,3,4,5,6,7,8,9]
print(s[::2])
输出结果:[1, 3, 5, 7, 9]

# 从索引位置 6 到索引位置 2,逆向间隔一个元素组成的列表

s = [1,2,3,4,5,6,7,8,9]
print(s[6:2:-2])
输出结果:[7, 5]

5.列表函数&方法

Python包含以下函数:

序号函数
1 len(list)
列表元素个数
2 max(list)
返回列表元素最大值
3 min(list)
返回列表元素最小值
4 list(seq)
将元组转换为列表

s = [1,2,3,4,5,6,7,8,9] print(len(s))
输出结果:9
s = [1,2,3,4,5,6,7,8,9]
print(max(s))
输出结果:9
s = [1,2,3,4,5,6,7,8,9]
print(min(s))
输出结果:1
s = (1,2,3,4,5,6,7,8,9)
print(list(s))
输出结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]

Python包含以下方法:

序号方法
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.reverse()
反向列表中元素
9 list.sort( key=None, reverse=False)
对原列表进行排序
10 list.clear()
清空列表
11 list.copy()
复制列表

list = [1,2,3,4,5,6,7,8,9] list.append(0) print(list)
输出结果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
list = [1,2,3,4,1,2,5,9]
print(list.count(2))
输出结果:2
list = [1,2,3,4]
list1 = [0,5,6,7,8]
list.extend(list1)
print(list)
输出结果:[1, 2, 3, 4, 0, 5, 6, 7, 8]
list = [1,2,3,4,2,5,2]
print(list.index(2))
输出结果:1
list = [1,2,3,4,2,5,2]
list.insert(2,0)
print(list)
输出结果:[1, 2, 0, 3, 4, 2, 5, 2]
list = [1,2,3,4,2,5,2]
list.pop(4)
print(list)
输出结果:[1, 2, 3, 4, 5, 2]

list.pop() 删除最后一个元素,等价于 list.pop(-1)

list = [1,2,3,4,2,5,2]
list.pop()
print(list)
输出结果:[1, 2, 3, 4, 2, 5]
list = [1,2,3,4,2,5,2]
list.remove(2)
print(list)
输出结果:[1, 3, 4, 2, 5, 2]

删除指定元素
list = [1,2,3,4,2,5,2]
del list[2]
print(list)
输出结果:[1, 2, 4, 2, 5, 2]
list = [1,2,3,4,2,5,2]
list.reverse()
print(list)
输出结果:[2, 5, 2, 4, 3, 2, 1]
  • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
  • reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
list = [1,2,3,4,2,5,2]
list.sort()
print(list)
输出结果:[1, 2, 2, 2, 3, 4, 5]
list = [1,2,3,4,2,5,2]
list.clear()
print(list)
输出结果:[]
list = [1,2,3,4,2,5,2]
list1 = list.copy()
print(list1)
输出结果:[1, 2, 3, 4, 2, 5, 2]

 #判断某个元素是否在列表中: 使用 in 运算符 

stu = ['zhangsan', 'lisi'] 
print('lisi' in stu)

6.列表生成式

列表生成式是Python内置的非常简单却强大的可以用来创建list的生成式。

举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用range(1, 11)。

list = []
for x in range(1, 11):
    list.append(x)

使用列表生成式: 

list = [x for x in range(1, 11)]

如果需要生成1,100以内的所有的偶数该如何操作?

 list = [x for x in range(1, 11) if x % 2 ==0]

操作字典

d = {'x': 'A', 'y': 'B', 'z': 'C' }
list = [k + '=' + v for k, v in d.iteritems()]

把一个list中所有的字符串变成小写:

L = ['Hello', 'World', 'IBM', 'Apple']
list =  [s.lower() for s in L]

双重循环生成二维数组:

arr = [ [0 for x in range(10)] for j in range(10)]

arr = [ [random.randint(1,10) for x in range(10)] for j in range(10)]

 

posted @ 2020-04-21 21:06  独剑飞行天下  阅读(316)  评论(0)    收藏  举报