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

是Python中内置的可变序列。

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

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

列表的创建方式有两种:

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

语法结构如下:

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

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

语法结构如下:

列表名=list(序列)

列表删除

语法结构如下:

del 列表名
l1=['hello','world',10,90.5]
print(l1)

l2=list('helloworld')
l3=list(range(1,10,2))
print(l2)
print(l3)

print(l1+l2+l3)  #列表的相加
print(l1*2)   #列表的相乘操作
print(len(l1))  #列表的长度
print(max(l3))  #列表中元素的最大值
print(min(l3))  #列表中元素的最小值
print(l3.count('o'))  #'o' 在列表中出现的 次数
print(l3.index('o'))  #'o'在列表中第一次出现的位置

del l1 #删除列表

enumerate函数的使用语法结构:

for index,item in enumerate(list):
    输出index和item
l=['hello','welcome','beijing']
print(l)
#第一种遍历 元素遍历
for item in l:
    print(item)
print('*'*50)
#第二种遍历 range() len() 索引遍历
for i in range(0,len(l)):
    print(l[i])
print('*'*50)
#第三种遍历 enumerate() 其中index是序号,不是索引,是可以变更的
for index,item in enumerate(l):
    print(index,item)
for index,item in enumerate(l,start=1):
    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() 将列表lst中的元素反转
lst.copy() 拷贝列表lst中的所有元素,生成一个新的列表

 

 

 

 

 

 

 

 

lst=['hello','world','python']
print('原列表',lst,id(lst)) #列表内容以及列表的内存地址

# append()新增元素
lst.append('append')
lst.append(10)
lst.append('world')
print('append方法',lst)

# insert() 在指定的index位置新增元素
lst.insert(1,'welcome')
print('insert方法',lst)

# 删除在列表中第一次出现的目标元素
lst.remove('world')
print('remove方法',lst)

# 将指定index位置的元素获取出来,并将其从列表删除掉
s=lst.pop(1)
print('pop方法',s,lst)

#复制列表  复制列表的内容,其内存地址已经改变
new_lst=lst.copy()
print(lst,id(lst))
print(new_lst,id(new_lst))

#修改列表元素内容
lst[1]='mysql'
print(lst)

#列表的倒序
lst.reverse()
print(lst)


# 清空列表中的元素
lst.clear()
print('clear方法',lst)

列表排序的两种方式

1)列表对象的sort方法,这种方式使得原列表中的元素顺序已经发生改变。

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

key:表示排序规则,默认为None

reverse:表示排序方式,默认为False,升序

2)内置函数sorted() ,这种方式是将排好序的结果生成一个新的序列,原有的序列中元素的顺序并没有发生改变。

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

iterable:表示排序的对象

key:表示排序规则,默认为None

reverse:表示排序方式默认为False,升序

tem_lst=[10,2,3,8,3,5,2,1]
print('原列表',tem_lst)

#默认为升序
tem_lst.sort()
print('升序',tem_lst)

#降序
tem_lst.sort(reverse=True)
print('降序',tem_lst)

print('*'*50)
tem_lst=['hello','World','welcome','Beijing','to']
print('原列表',tem_lst)

#未设置排序规则
tem_lst.sort()
print(tem_lst)

# 按照字符的大写排序
tem_lst.sort(key=str.upper)
print(tem_lst)

#安装字符的小写排序
tem_lst.sort(key=str.lower)
print(tem_lst)


#sorted内置函数排序
tem_lst=[5,8,10,2,5,8]
new_list=sorted(tem_lst)
print('升序',new_list)
new_list=sorted(tem_lst,reverse=True)
print('降序',new_list)

tem_lst=['hello','World','welcome','Beijing','to']
print('原列表',tem_lst)
new_lst=sorted(tem_lst,key=str.upper)
print(new_lst)
new_lst=sorted(tem_lst,key=str.lower)
print(new_lst)

列表生成式的语法结构

lst=[expression for item in range]
lst=[expression for item in range if condition]
lst=[item for item in range(1,11)]
print(lst)

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

# 随机生成10个1至100之间的随机数
lst=[random.randint(1,100) for _ in range(10)]
print(lst)

lst=[item for item in range(1,11) if item%2==1]
print(lst)

二维列表的遍历:

for row in 二维列表:
    for item in row:
        pass
lst=[
    ['城市','环比','同比'],
    ['上海','110','108'],
    ['北京','109','112'],
    ['武汉','99','98']
]
print(lst)

#遍历二维列表
for row in lst:
    for item in row:
        print(item,end=' ')
    print()

# 生成一个二维列表
lst2=[[j for j in range(5)]for i in range(4)]
print(lst2)

 

 posted on 2023-12-12 17:39  会飞的金鱼  阅读(9)  评论(0)    收藏  举报