欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

列表操作

程序员文章站 2022-06-21 14:31:31
...

创建列表

 

#方式一
a = ['a','b','1','2']

#方式二
a = list('a','b','1','2')

 

Python列表函数&方法

列表操作

列表操作

 

 

列表方法实例

#添加元素到列表最后
a = [1,2,3,4]
a.append(5)
print(a)
>>>[1, 2, 3, 4, 5]

#删除列表中的元素
a = [1,2,3,4]
a.clear()
print(a)
>>>[]

#拷贝(浅)
a = [1,2,3,4]
b = a.copy()
print(a)
print(b)
>>>[1, 2, 3, 4]
>>>[1, 2, 3, 4]

#统计某个元素出现的次数
a = [1,2,3,4,1]
b = a.count(1)
print(b)
>>>2

#合并元素(扩展)
a = [1,2,3,4]
a.extend('5')   #不能接int类型,想要加入int类型可以使用append
a.extend((3,4))
print(a)
>>>[1, 2, 3, 4, '5', 3, 4]

# 获取列表的索引/下标(从前往后第一个关键字下标)
a = [1,2,3,4]
b = a.index(4)
print(b)
>>>3

#添加元素到指定位置
a = [1,2,3,4]
a.insert(1,9)
print(a)
>>>[1, 9, 2, 3, 4]

#删除列表最后元素,并获取删除的值
a = [1,2,3,4]
b = a.pop(1)
print(a)
print(b)
>>>[1, 3, 4]
>>>2    #返回删除的值

#只删除第一个关键字元素
a = [1,1,5,2,3,4]
a.remove(1)
print(a)
>>>[1, 5, 2, 3, 4]

#反转列表元素
a = [1,2,3,4]
a.reverse()
print(a)
>>>[4, 3, 2, 1]


#反转列表中的元素
a = [1,2,3,4]
a.sort(reverse=True)
print(a)
>>>[4, 3, 2, 1]

b = [4,3,2,1]
b.sort()
print(b)
>>>[1, 2, 3, 4]

  

 

列表排序

#列表排序(永久性),特殊字符、数字、大写字母、小写字母
cars = ['bmw', 'audi', 'toyota', 'subaru','12k',',dk','Adu']
cars.sort()     #正向排序
print(cars)
>>>[',dk', '12k', 'Adu', 'audi', 'bmw', 'subaru', 'toyota']
cars.sort(reverse=True)     #反各排序
print(cars)
>>>['toyota', 'subaru', 'bmw', 'audi', 'Adu', '12k', ',dk']

#列表排序(临时性)
cars = ['bmw', 'audi', 'toyota', 'subaru','12k',',dk','Adu']
print(sorted(cars))     #正向排序
>>>[',dk', '12k', 'Adu', 'audi', 'bmw', 'subaru', 'toyota']
print(cars)
>>>['bmw', 'audi', 'toyota', 'subaru', '12k', ',dk', 'Adu']
cars.reverse()  #反转列表元素(非排序)
print(cars)
>>>['Adu', ',dk', '12k', 'subaru', 'toyota', 'audi', 'bmw']
print(len(cars))    #统计列表长度,元素数量
>>>7

 

#使用range()创建数字列表
number = list(range(1,10,2))    #创建数字列表,指定步长为2
print(number)
>>>[1, 3, 5, 7, 9]


#创建一个列表,其中包含前10个整数的平方
#方法一
a = []
for b in range(1,11):
    c = b**2
    a.append(c)
print(a)
>>>[1, 4, 9, 16, 25, 36, 49, 64, 81,100]

#方法二
a = []
for i in range(1,11):
    a.append(i**2)
print(a)
>>>[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

#对列表中的数字进行统计
digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(min(digits))  #打印最小值
print(max(digits))  #打印最大值
print(sum(digits))  #打印列表中数据之合

#使用一行创建一个列表
a = [b**2 for b in range(1,11)]
print(a)

#使用for循环打印数字1~20
for i in range(1,21):
    print(i)

#创建一个列表包含数字1~1000000,用for循环将数字打印出来,并计算列表中的元素之合
num = [i for i in range(1,1000001)]
for i in num:
    print(i)
print(sum(num))

#通过range()创建一个列表,包含1~20的奇数,并用for循环打印出来
num = [i for i in range(1,21,2)]
for i in num:
    print(i)

#创建一个列表,包含3~30内能被3整除的数字,并用for循环打印出来
num = []
for i in range(3,31):
    if i % 3 == 0:
        num.append(i)
    else:
        continue
print(num)

#创建一个列表,包含1~10的立方数,使用for循环打印出来
num = [i**3 for i in range(1,11)]
for i in num:
    print(i)

 

列表切片

players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[1:4])     #从1开始到第3个,不包含4
>>>['martina', 'michael', 'florence']
print(players[:4])      #没有指定第一个索引,默认从0开始到第3个,不包含4
>>>['charles', 'martina', 'michael', 'florence']
print(players[2:])      #没有指定第二个索引,从2开始到默认末尾
>>>['michael', 'florence', 'eli']
print(players[-3:])     #负数是从末尾开始,打印最后3个元素
>>>['michael', 'florence', 'eli']

#遍历切片
players = ['charles', 'martina', 'michael', 'florence', 'eli']
#打印前三名元素
for i in players[:3]:
    print(i)

#复制列表
my_foods = ['pizza', 'falafel', 'carrot cake']
your_foods = my_foods[:]
print(my_foods)
print(your_foods)
>>>['pizza', 'falafel', 'carrot cake']
>>>['pizza', 'falafel', 'carrot cake']
my_foods.append('baozi')
your_foods.append('jiaozi')
print(my_foods)
print(your_foods)
>>>['pizza', 'falafel', 'carrot cake', 'baozi']
>>>['pizza', 'falafel', 'carrot cake', 'jiaozi']

 

从列表中随机取值 

import random
banned_users = ['andrew', 'carolina', 'david']
a = random.sample(banned_users,1)
print(a)

  

打印列表中的元素(去除中括号)

a = ['jacky','kevin','alex','bob']
print (','.join(a))
>>>jacky,kevin,alex,bob

 

Python中append和extend的区别
# list.append(object) 向列表中添加一个对象object
# list.extend(sequence) 把一个序列seq的内容添加到列表中
#例子
music_media = ['compact disc', '8-track tape', 'long playing record']
new_media = ['DVD Audio disc', 'Super Audio CD']
music_media.append(new_media)
print(music_media)
>>>['compact disc', '8-track tape', 'long playing record', ['DVD Audio disc', 'Super Audio CD']]
# 使用append的时候,是将new_media看作一个对象,整体打包添加到music_media对象中。

music_media.extend((new_media))
print(music_media)
>>>['compact disc', '8-track tape', 'long playing record', 'DVD Audio disc', 'Super Audio CD']
# 使用extend的时候,是将new_media看作一个序列,将这个序列和music_media序列合并,并放在其后面。