python学习第四次笔记

Posted on 2019-04-10 21:17  姜健  阅读(166)  评论(0编辑  收藏  举报

python学习第四次记录

列表list

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

列表的创建

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

列表的索引切片

1 li = ['a', 'b', '哈哈', 3, 666]
2 print(li[0])  # 'a'
3 print(li[-1])  # 666
4 print(li[1:3])  # ['b', '哈哈']
5 print(li[:-1])  # ['a', 'b', '哈哈', 3]
6 print(li[::2])  # ['a', '哈哈', 666]
7 print(li[::-1])  # [666, 3, '哈哈', 'b', 'a']
列表的索引切片

列表的增加

append方法

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

insert方法

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

extend方法

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

列表的删除

通过索引删除列表中对应的元素  pop

1 # pop  通过索引删除列表中对应的元素,该方法有返回值,
2 # 返回值为删除的元素
3 l = ['哈哈', 'heihie', 'wowo', '美女']
4 accept = l.pop(1)
5 print(accept, l)
6 # heihie ['哈哈', 'wowo', '美女']
pop

通过元素删除列表中该元素  remove

1 # remove  通过元素删除列表中该元素
2 l = ['哈哈', 'ahah', 'heihei', '女神']
3 l.remove('ahah')
4 print(l)  # ['哈哈', 'heihei', '女神']
remove

清空列表  clear

1 # clear 清空列表
2 l = ['haha', 'heihie', 'jjjaa', '女神']
3 l.clear()
4 print(l)  # []
clear

按照索引删除该元素  del

1 # 按照索引删除该元素
2 l = ['adfd', 'aldaf', 'Wdafda', '女神']
3 del l[2]
4 print(l)  # ['adfd', 'aldaf', '女神']
del

切片删除该元素

1 l = ['sd白', 'sda', 'dasda', '女神']
2 del l[1:]
3 print(l)  # ['sd白']
View Code

切片(步长)删除该元素

1 # 切片(步长)删除该元素
2 l = ['df', 'rrgfg', 'hjhf', '女神']
3 del l[::2]
4 print(l)  # ['rrgfg', '女神']
View Code

列表的修改

按照索引改值

1 # 按照索引改值
2 l = ['sff', 'rrt', 'hjf', '女神']
3 l[0] = '男神'
4 print(l)  # ['男神', 'rrt', 'hjf', '女神']
View Code

按照切片改值(迭代着增加)

1 # 按照切片改值(迭代着增加)
2 l = ['sdas', 'ds', 'ghgd', '女神']
3 l[1:3] = 'djy'
4 print(l)  # ['sdas', 'd', 'j', 'y', '女神']
View Code

按照切片(步长)改值(必须一一对应)

1 # 按照切片(步长)改值(必须一一对应)
2 l = ['gs', 'fgra', 'kgjk', '女神']
3 l[::2] = '对应'
4 print(l)  # ['对', 'fgra', '应', '女神']
View Code

列表的查看

切片查看

1 li = ['ds', 'ht', 'ui', 'ew', '女神']
2 for i in li:
3     print(i)
View Code

循环查看

1 li = ['trt', 'dddsd', 'jh', 'qqqw', '女神']
2 print(li[0:2])
3 # ['trt', 'dddsd']
View Code

公共方法

返回字符串、列表、字典、元组等长度  len

1 li = ['sda', 'er', 'gh', 'kik', '女神']
2 l = len(li)
3 print(l)  # 5
len

统计某个元素在列表中出现的次数  count

1 li = ['sda', 'er', 'gh', 'kik', '女神']
2 num = li.count('gh')
3 print(num)  # 1
count

用于从列表中找出某个值第一个匹配项的索引位置  index

1 li = ['sda', 'er', 'gh', 'kik', '女神']
2 # 列表中只有index,没有find
3 print(li.index('gh'))  # 2
index

方法用于在原位置对列表进行排序  sort

正向排序

1 li = [1, 5, 4, 7, 6, 2, 3]
2 # 正向排序
3 li.sort()
4 print(li)
5 # [1, 2, 3, 4, 5, 6, 7]
sort

倒叙排序

1 li = [1, 5, 4, 7, 6, 2, 3]
2 li.sort(reverse=True)
3 print(li)
4 # [7, 6, 5, 4, 3, 2, 1]
sort

方法将列表中的元素反向存放  reverse

1 li = [1, 5, 4, 7, 6, 2, 3]
2 li.reverse()
3 print(li)
4 # [3, 2, 6, 7, 4, 5, 1]
reverse

列表的相加和整数相乘

1 l1 = [1, 2, 3]
2 l2 = [4, 5, 6]
3 # print(l1+l2)  # [1, 2, 3, 4, 5, 6]
4 print(l1*3)  # [1, 2, 3, 1, 2, 3, 1, 2, 3]
相加和数乘

列表的嵌套

 1 # 列表的嵌套
 2 li = ['sa', 'dfdf', 're', ['hg', 'mj', 89], 23]
 3 # print(li[1][1])  # f
 4 
 5 li[0] = li[0].capitalize()
 6 print(li)
 7 # ['Sa', 'dfdf', 're', ['hg', 'mj', 89], 23]
 8 
 9 li[2] = "nihao321"
10 print(li)
11 # ['sa', 'dfdf', 'nihao321', ['hg', 'mj', 89], 23]
12 
13 print(li[2].replace('re', 'dfsggtg'))
14 
15 li[3][0] = li[3][0].upper()
16 print(li)
17 # ['sa', 'dfdf', 're', ['HG', 'mj', 89], 23]
View Code

元祖  tuple

# 元祖 只读列表,可循环查询,可切片
# 儿子不能改,孙子可能可以改

元祖的索引切片

1 tu1 = ('a', 'b', '哈哈', 3, 666)
2 print(tu1[0])  # 'a'
3 print(tu1[-1])  # 666
4 print(tu1[1:3])  # ('b', '哈哈')
5 print(tu1[:-1])  # ('a', 'b', '哈哈', 3)
6 print(tu1[::2])  # ('a', '哈哈', 666)
7 print(tu1[::-1])  # (666, 3, '哈哈', 'b', 'a')
View Code

元祖的其他操作方法

利用for循环查询

1 tu1 = ('a', 'b', 'asd', 3, 666)
2 for i in tu1:
3     print(i)
View Code

# 列表转换成字符串 join
# 字符串转换成列表 split

 1 s = 'dfd'
 2 s1 = '_'.join(s)
 3 print(s1)
 4 # d_f_d
 5 
 6 li = ['ffe', 'rfr', 'df', 'jkjy', '女神']
 7 s = '+++'.join(li)
 8 print(s)
 9 # ffe+++rfr+++df+++jkjy+++女神
10 # join返回字符串
join

range

 1 # range [1, 2, 3, 4, 5, 6, ......]
 2 for i in range(0, 10):
 3     print(i)
 4 
 5 for i in range(10):
 6     print(i)
 7 
 8 for i in range(0, 10, 2):
 9     print(i)
10 
11 for i in range(10, 0, -2):
12     print(i)
13 
14 for i in range(0, 10, -2):
15     print(i)
range