Python基础-day04

字符串是有序的

列表是有序的

元组是有序的

字典

    python2中 无序

    python3中 有序

集合是无序的

 

列表 - 增

# 追加到最后

li.append(元素)

 

# 插入到某个位置

li.insert(4, 'aa')

index为4的地方插入aa(原来index为4的元素会向后移动一位)

谋朝篡位

 

# extend的参数必须是可迭代的对象,否则报错

li = ['a', 'b', 'c', 'd']

li.extend([1, 2, 3])

li.extend('haha')

print(li)

['a', 'b', 'c', 'd', 1, 2, 3, 'h', 'a', 'h', 'a']

 

列表 - 删

name = li.pop(1) # 删除index为1的元素,同时返回这个元素

print(name)   # 打印b

print(li)     # 打印['a', 'c', 'd'],因为删除了一个

 

li.pop()     # 如果不指定index值,则默认删除最后一个元素

 

li.remove('a')  # 按指定元素删除,无返回值

li.clear()      # 清空列表

del li           # 在内存中删除这个对象,li不会保留

del li[0:2]      # 切片去删除,只是删除部分元素,li还是会保留

 

列表 - 改

li[0] = 'haha'      # 按单个index改

此时li为['haha', 'b', 'c', 'd']

能改成任何数据类型

 

li[0:2] = '查克拉' 

# 首先将列表li中的li[0]和li[1]删除,然后将字符串'你好悟空'拆开,最后将拆开的元素放入原先li[0]和li[1]的位置。

注意:如果使用切片的方式来修改列表,那么后面的值必须是可迭代对象,否则报错

 

总共就两种方式:直接指定索引,或者按照切片的方式

li[0]

li[0:2]

 

列表 - 查

 

公共方法

len()

count()

 

排序

# 将li按照升序排序

li = [1, 4, 3, 2, 5, 7, 6]

li.sort()                             
print(li)

[1, 2, 3, 4, 5, 6, 7]

 

# 将li按照降序排序
li.sort(reverse=True)       
print(li)

[7, 6, 5, 4, 3, 2, 1]

 

# 反转
li.reverse()                      
print(li)

[1, 2, 3, 4, 5, 6, 7]

 

排序和反转要弄清楚,一个是要排序,一个是要将顺序倒过来。

 

列表的嵌套

 

元组(总原则,元组不能改)

只读列表,可循环查询,可切片。

# 儿子不能改,孙子可能可以改。

 

一级元素不能改,二级元素可能可以改。

二级元素如果是列表,那它可以改;

二级元素如果是元组,那它不能改;

 

我们改的tu[4]是一个列表,所以能改。

 

join方法

 

 

join的参数s必须是可迭代对象,否则报错。

'_'表示用什么连接,这里用'_'连接每个元素。

先将可迭代对象拆开,然后用'_'连接每个元素。

# join返回的是字符串

让列表转化为字符串。

让元组转化为字符串。

唯一要注意的是:列表和元祖中的元素只能是字符串,不能是数字,否则报错。

[1, 2]

# 报错

[1, 'a']

# 报错

['a', 'b']

# 正确

 

list 转 str

采用join方法

 

str 转 list

采用split方法

 

range()

range(100)

打印从0 到 99

 

range(0, 100)

打印从0 到 99

 

range(5, 100)

打印5 到 99

 

range(5, 100, 5)

打印5 10 15 20 25 ...

 

range(0, 10, -1)

# 这是错误的写法,因为从0到10,是正方向,所以-1不对。

 

关于range()的说明:

range(start, end, step)

开始处

结束处

步长

我们选择的start和end,可以任意选择。从上面的坐标轴上选择。

如果start是0,end是10,那么方向就是向右,我们的步长必须是正数,因为正数才是向右。假设步长为1,则结果为:

 

如果步长是-1,则不会输出结果,因为反方向啥也没有。所以什么都不会输出,但也不报错。

 

如果想要使用反方向,那么就要将end值设置为负数,这样,才会有反方向:

 

总结:我们选择的start和end值就决定了我们的步长是正数还是负数。

从start到end是反方向,那么step就必须是负数,否则什么值也不会打印。

从start到end是正方向,那么step就必须是正数,否则什么值也不会打印。

posted @ 2019-10-29 21:46  道霖  阅读(159)  评论(0)    收藏  举报