python-学习笔记:列表

列表

是由一系列的按特定顺序排列的元素组成。

是python中内置的可变序列

在python中使用[]定义列表,元素与元素之间使用英文的逗号分隔

列表中的元素可以是任意的数据类型

列表的创建与删除

列表的创建方式有两种:

(1)使用[]直接创建列表

语法结构如下:

列表名=[element1,element2,......,elementN]

(2)使用内置函数list()创建列表

语法结构如下:

列表名=list(序列)

列表的删除

语法结构如下:

del  列表名

示例:

#直接使用[]创建列表
lst=['hell','world',98,100.5]
print(lst)

#可以使用内置的函数list()创建列表
lst2=list('helloworld')
lst3=list(range(1,10,2))   #从1开始到10结束,步长为2,不包含10
print(lst2)
print(lst3)

#列表是序列的中的一种,对序列的操作符,运算符,函数均可使用
print(lst+lst2+lst3)   #序列中的相加操作
print(lst3*3)           #序列的相乘操作
print(len(lst))
print(max(lst3))
print(min(lst3))
print(lst2.count('o'))
print(lst2.index('o'))  #o第一次出现的位置

#列表的删除操作
lst4=[10,20,30]
print(lst4)
#删除列表
del lst4

列表的遍历操作

1、使用遍历循环for遍历列表元素
2、使用for循环,range()函数,len()函数,根据索引进行遍历
3、使用enumerate()函数进行遍历

语法结构:

for index,item in enumerate(lst)

     输出index和item

示例:

lst=['hello','world','python','php']
#使用遍历循环for遍历列表元素
for item in lst:
    print(item)
    
#使用for循环,range()函数,len()函数,根据索引进行遍历
for i in range(0,len(lst)):
    print(i,'---->',lst[i])

#第三种遍历方式enumerate()函数
for index,item in enumerate(lst):
    print(index,item)    #index是序号,不是索引
print('----------------------')
#手动修改序号的起始值
for index,item in enumerate(lst,start=2):  #序号从2开始
    print(index,item)  
print('----------------------')  
for index,item in enumerate(lst,7):  #省略start不写,直接写起始值
    print(index,item)

列表的相关操作

列表的方法 描述说明
lst.append(x) 在列表lst最后增加一个元素
lst.insert(index,x) 在列表中第index位置增加一个元素
lst.clear() 清除列表lst中所有元素
lst.pop(index) 将列表lst中第index位置的元素取出,并从列表中将其删除
lst.remove(x) 将列表lst中出现的第一个元素x删除
lst.reverse(x) 将列表lst中的元素反转
lst.copy() 拷贝列表lst中的所有元素,生成一个新的列表
lst.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

示例:

lst=['hello','world','python']
print('原列表:',lst,id(lst))
#增加元素的操作
lst.append('sql')
print('增加元素之后:',lst,id(lst))      #元素个数可变,但是内存地址不变,因此叫可变序列

#使用insert(index,x)在指定的index位置上插入元素x
lst.insert(1,100)
print(lst)

#列表元素的删除操作
lst.remove('world')
print('删除元素之后的列表:',lst,id(lst))

#使用pop(index)根据索引将元素取出,然后再删除
print(lst.pop(1))
print(lst)

#清除列表中所有的元素clear()
# lst.clear()
# print(lst,id(lst))   

#列表的反向输出
lst.reverse()  #不会产生新的列表,在原列表的基础上进行的
print(lst)

#列表的拷贝,将产生一个新的列表对象
new_lst=lst.copy()
print(lst,id(lst))
print(new_lst,id(new_lst))   

#列表元素的修改操作
#根据索引进行修改元素
lst[1]='masql'
print(lst)

列表的排序

1、列表对象的sort方法

lst.sort(key=None,reverse=False)

key:表示排序的规则

reverse:表示排序方式(默认升序)

示例:

lst=[4,46,3,78,40,56,89]
print('原列表:',lst)

#排序,默认是升序
lst.sort()         #排序是在原列表的基础上进行的,不会产生新的列表
print('升序:',lst)
#排序,降序
lst.sort(reverse=True)
print('降序:',lst)

print('---------------------------------')
lst2=['banana','apple','Cat','Orange']
print('原系列:',lst2)

#升序排列,先排大写,后排小写
lst2.sort()
print('升序:',lst2)
#降序排列,先排小写,后排大写
lst2.sort(reverse=True)
print('降序:',lst2)

#忽略大小写进行比较
lst2.sort(key=str.lower)
print(lst2)
2、内置函数sorted()

sorted(iterable,key=None,reverse=False)

iterable:表示是的排序的对象

示例:

lst=[4,46,3,78,40,56,89]
print('原列表:',lst)

#排序
asc_lst=sorted(lst)
print('升序:',asc_lst)
print('原列表:',lst)

#降序
desc_lst=sorted(lst,reverse=True)
print('升序:',desc_lst)
print('原列表:',lst)
#排序之后原列表不变

lst2=['banana','apple','Cat','Orange']
print('原系列:',lst2)
#忽略大小写进行排序
new_lst2=sorted(lst2,key=str.lower)
print('原列表:',lst2)
print('排序后的列表:',new_lst2)

列表生成式

lst=[expression for item in range if condition]

示例:

import random
lst=[item for item in range(1,11)]
print(lst)

lst=[item*item for item in range(1,11)]
print(lst)

lst=[random.randint(1,100) for _ in  range(10)]
print(lst)

#从列表中选择符合条件的元素组成新的列表
lst=[i for i in range(10) if i%2==0]
print(lst)

二维列表的遍历与生成

二维列表的遍历

for row in 二维列表:

      for  item in row:

           pass

示例:

#创建二维列表
lst=[
    ['城市','环比','同比'],
    ['北京',102,103],
    ['上海',210,503],
    ['深圳',100,59]
]
print(lst)

#遍历二维列表使用双层for循环
for row in lst:  #行
    for item in row:  #列
        print(item,end='\t')
    print()  #换行
    
#列表生成式生产一个4行5列的二维列表
lst2=[[j for j in range(5)]for i in range(4)]
print(lst2)

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