python初学者笔记-列表和元组的介绍及使用

列表:

①列表的定义:列表可以储存不同类型的数据(几乎python的任何对象)

创建列表的方式很简单,只需要用逗号分隔开不同的数据元素,使用中括号包裹如下:

li = [1, '李四', 'abc', ['qwe', 2]]

②序列索引: (序列类型:字符串,列表,元组)

序列中的每一个元素都分配一个数字(位置,索引)

(1) 正向索引(从左到右):第一个元素的索引是0,第二个元素的索引是1,以此类推。

(2) 负向索引(从右到左):第一个元素的索引是-1,第二个元素的索引是-2,以此类推。

如下创建一个人员名单列表:

li = ['张三', '李四', '王五']

使用索引访问列表元素:  (注意:如果超出索引范围报错)

li = ['张三', '李四', '王五']

li[0]

===
'张三'

li[1]

===
'李四'

li[2]

===
'王五'

li[3]

===
Traceback (most recent call last):
  File "", line 1, in 
    print(li[3])
IndexError: list index out of range

③切片: (切片范围访问取值)

注意: 切片是两个范围之间取值,且取前不取后 切片时范围超过不会报错 切片时还可以指定步长。

li = ['张三', '李四', '王五']

li[0:2]

===
['张三','李四']

li[0:100]

===
['张三', '李四', '王五']

li[0:100:2]

===
['张三','王五']

④在列表中增加元素:

(1) append:默认添加到列表的末尾

(2) insert:在指定索引位置添加指定元素

(3) extend:将另一个列表中的元素逐一添加

li = ['张三', '李四', '王五']
li.append('杨六')   # 默认追加
li.insert(3, 'abc')   # 指定插入
li.extend(['Tom', 'Alan'])   # 批量添加
li


===
['张三', '李四', '王五', 'abc', '杨六', 'Tom', 'Alan']

⑤列表中查找元素:

常用运算符:

(1) in (存在)---如果存在结果为True,否则False

(2) not in (不存在)---如果不存在为True,否则False

li = ['张三', '李四', '王五']
'张三' in li

===
True


'张三' not in li

===
False

index:查找元素返回索引

注意:查找不存在的元素会报错

li = ['张三', '李四', '王五']
li.index('王五')

===
2


li.index('王强')

===
Traceback (most recent call last):
  File "", line 1, in 
    print(li.index('王强'))
ValueError: '王强' is not in list

⑥在列表中修改元素: (利用索引取值可以直接替换)

li = ['张三', '李四', '王五']
li[2] = 'abc'
li

===
['张三', '李四', 'abc']

⑦在列表中删除元素:(注意:删除是不可逆的。)

删除:pop、remove、clear 、del  四个方法。     

li = ['张三', '李四', '王五', '杨六']
li.pop()   # 默认删除最后一位
li.pop(2)   # 指定索引位置删除元素
li.remove('张三')   # 指定元素删除
li

===
['李四']


li = ['张三', '李四', '王五', '杨六']
del li[2:4]   # del关键字配合切片范围删除
li

===
['张三', '李四']


li = ['张三', '李四', '王五', '杨六']
li.clear()   # 清空
li

===
[]

⑧列表推导表达式:

快速生成一个列表,并能筛选列表的值:(下面例子是找出0到100所有的偶数)

li = [i for i in range(100) if i%2 == 0]
li

===
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98]

⑨列表的其他方法:

copy: 复制方法

count: 统计列表中某一个元素出现次数

reverse:将列表反向并没有反序的功能

sort:对列表中元素进行排序,采用Timsort算法排序

li = [3,5,4,9,7,4,4,9]
li1 = li.copy()   # 复制
li1

===
[3,5,4,9,7,4,4,9]
li = [3,5,4,9,7,4,4,9]
li.count(4)

===
3

li = [3,5,4,9,7,4,4,9]
li.reverse()
li

===
[9, 4, 4, 7, 9, 4, 5, 3]


li = [3,5,4,9,7,4,4,9]
li.sort()
li

===
[3, 4, 4, 4, 5, 7, 9, 9]

上次笔记的小题实例:(利用for循环方法写99乘法表)

for a in range(1,10):
    for b in range(1,10):
        s = a*b
        if b <= a:
            print(f'{b}*{a}={s}', end=' ')  # end='\t'也可
    print()

欢迎讨论,共同学习,共同进步,加油!

你可能感兴趣的:(python笔记,python,开发语言)