python之序列、列表 、循环嵌套

一.序列

  •     可变序列 列表
  •     不可变序列 字符串 元组
  •    列表的快速入门
  •     列表怎么创建[ ]
  •      list

二.循环嵌套(while)

  •    外层循环可以控制高度
  •    内层循环可以控制宽度

 

三.列表 List

 

删除

通用操作

  •    加号 乘号
  •    in not in 
  •     len()
  •     max() min()
  •    index()
  •     count()

   


一.序列

  • 序列是Python中最基本的⼀种数据结构。序列⽤于保存⼀组有序的数据,所 有的数据在序列当中都有⼀个                           唯⼀的位置( 索  引)并且序列中的数据会按照 添加的顺序来分配索引
  • 数据结构指计算机中数据存储的⽅式

分类

  • 可变序列(序列中的元素可以改变):例如 列表(list)字典(dict)
  • 不可变序列(序列中的元素不能改变):例如 字符串(string)元组(tuple)

列表 List

  • 列表内的内容是有序的
  • 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,
  • 第二个索引是1.

创建

  

list1=[1,2,3,4,5,6];
list2=['a','b','c','d']
list3=[1,'chengdu','list2']

  

访问列表中的值

  • 使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:

list1 = ['tom', 'jack', 'chengdu','shanghai' ];
list2 = [1, 2, 3, 4, 5, 6, 7 ];
print (list1[0])
print (list2[0:4])
  • 以上实例输出结果:
  tom
  [1, 2, 3, 4]

 二.循环嵌套(while)

  •  外层循环可以控制高度
  •  内层循环可以控制宽度
i=0#外层循环控制图形的一个高度
while i<5:
    print('####')#内层循环控制图形的一个宽度
    j=0
    while j<5:
        print('#',end='')
        j+=1
    print()
    i+=1

2. break 和continue 

  •    break 可以立即退出循环包括else语句
  •    continue 用来跳过当次循环

   案列1.while+break的使用

 

username='tom'
password='112'
#记录错误验证的次数
count=0
while count <3:
    name=input('请输入用户名:')
    password=input('请输入密码:')
    if name==username and password==password:
         print('登录成功')
         break#用于结束本层循环
    else:
        print('输入的用户名或密码错误')
        count+=1

案列2. while+continue的使用

  • break 代表结束本层循环,而continue则用于结束本次循环,直接进入下一次循环 

    

#打印1 到6之间,除3以外的所有数字
number=0
while number >1:
    number-=1
    if number ==3:
        continue#结束本次循环,即本次循环continue之后的代码都不会运行了,而是直接进入下一次循环
    print(number)

 

切片

列表[起始 : 结束 : 步⻓]

  • 起始即起始索引值
  • 结束即结束的索引值
  • 步长即间隔数(默认为1)
    • 可以省略三个元素
      • 如果省略结束位置, 则会从当前的开始位置⼀直截取到最后
      • 如果省略开始位置, 则会从第⼀个元素截取到结束的元素,但是不包括结 束的元素
      • 如果开始位置和结束位置都省略, 则则会从第⼀个元素开始截取到最后⼀ 个元素
list1 = [1,2,3,4,5,6]
print(list1[0:4:2]) #0开始,到索引值4结束,间隔为2
print(list1[0:5])  #0开始,到索引值5结束,间隔默认1
print(list1[::2])  #从头到尾,间隔数为2
print(list1[:5])  #从头到索引值5结束,间隔数默认1
print(list1[1:])  #从索引值1开始到尾,间隔数默认为1
print(list1[2::2])  #从索引值2开始到尾,间隔数为2

上述结果如下:

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

 

append

  • 在列表末尾增加元素

例如

list1 = [1,2,3,4,5,6]
print('修改前',list1)
list1.append(10)
print('修改后',list1)

 

结果:

修改前 [1, 2, 3, 4, 5, 6]
修改后 [1, 2, 3, 4, 5, 6, 10]

 

insert

  • insert(arg1,arg2) 像列表指定位置插⼊⼀个元素 参数1:要插⼊的位置 参数 2:要插⼊的元素

例如:

list1 = [1,2,3,4,5,6]
print('修改前',list1)
list1.insert(1,5) #1是要插入的位置,5是插入的元素
list1.insert(5,100)
print('修改后',list1)

 

结果:

修改前 [1, 2, 3, 4, 5, 6]
修改后 [1, 5, 2, 3, 4, 100, 5, 6]

 

extend

  • extend(iterable) 使⽤⼀个新的序列来扩展当前序列(它会将该序列的中元素 添加到列表中) 参数需要传递⼀个序列

例如:

list1 = [1,2,3,4,5,6]
print('修改前',list1)
list1.extend([7,8,9,10])
print('修改后',list1)

 

结果:

修改前 [1, 2, 3, 4, 5, 6]
修改后 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

 

删除

del

删除列表中的指定索引值的元素


例 如:

list1 = [1,2,3,4,5,6]
print('修改前',list1)
del list1[-1] #删6
del list1[1:3] #删索引值1到三。2,3
print('修改后',list1)

 

结果:

修改前 [1, 2, 3, 4, 5, 6]
修改后 [1, 4, 5]

 

pop

  • pop() 根据索引删除并返回指定元素

例如:

list1 = [1,2,3,4,5,6]
print('修改前',list1)
list1.pop(2) #删除索引值为2的,3
print('修改后',list1)

 

结果:

修改前 [1, 2, 3, 4, 5, 6]
修改后 [1, 2, 4, 5, 6]

 

remove

  • remove() 删除指定元素 (如果相同值的元素有多个,只会删除第⼀个)

例如:

list1 = [1,2,3,4,5,6,2]
print('修改前',list1)
list1.remove(2) 
print('修改后',list1)

 

修改

通过索引和切片修改

  • 可以直接通过索引改变列表元素内容
  • 通过切⽚来修改(起始就是给切⽚的内容重新赋值,但是赋值的内容必须是⼀ 个序列)
  • 当设置了步⻓时,序列中元素的个数必须和切⽚中元素的个数保持⼀致

 

例如:

ist1 = [1,2,3,4,5,6]
print('修改前',list1)
list1[0] = 7
list1[1:3]=10,11,12,13 #可以将少的元素改为多个元素达到增加效果

print('修改后',list1)
list1[0:6:2] = 1,3,5
print('修改后后',list1) #当设置了步⻓时,序列中元素的个数必须和切⽚中元素的个数保持⼀致 否则报错
                        # Traceback (most recent call last)
                        

 

结果:

修改前 [1, 2, 3, 4, 5, 6]
修改后 [7, 10, 11, 12, 13, 4, 5, 6]
修改后后 [1, 10, 3, 12, 5, 4, 5, 6]

 

 

reverse

reverse翻转列表


例如

list1 = [1,2,3,4,5,6]
print('修改前',list1)
list1.reverse()
print('修改后',list1)

 

结果:

修改前 [1, 2, 3, 4, 5, 6]
修改后 [6, 5, 4, 3, 2, 1]

 

sort

  • sort(key=None,reverse=False) ⽤来对列表中的元素进⾏排序,默认为正序,可以通过revers来控制升序或者降序
  • reverse: True降序;False 升序

例如:

list1 = [9,5,8,6,7,3,2]
print('修改前',list1)
list1.sort()
print('修改后升序',list1)
list1.sort(reverse=True)
print('修改后降序',list1)

 

结果:

修改前 [9, 5, 8, 6, 7, 3, 2]
修改后升序 [2, 3, 5, 6, 7, 8, 9]
修改后降序 [9, 8, 7, 6, 5, 3, 2]

 

查找

index

  • Python index() 方法检测字符串中是否包含子字符串 str
  • 如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内
  • 该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。

index()方法语法:

str.index(str, beg=0, end=len(string))

 

find

  • Python find() 方法检测字符串中是否包含子字符串 str
  • 如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。

语法
find()方法语法:

str.find(str, beg=0, end=len(string))

 

通用操作

  • 可以将两个列表拼接成⼀个列表
  • 可以将列表重复指定的次数 (注意2个列表不能够做乘法,要和整数做乘 法运算)
  • in 和 not in in⽤来检查指定元素是否在列表当中
  • not in ⽤来检查指定元素是否不在列表当中
  • len() 获取列表中元素的个数
  • max() 获取列表中最⼤值
  • min() 获取列表中最⼩值
  • list.index(x, start, end)获取列表中某个元素索引值
    • 第⼀个参数 获取指定元素在列表中的位置
    • 第⼆个参数 表示查找的起始位置
    • 第三个参数 表示查找的结束位置

案列如下:

       


上述结果如下

 


 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值