列表操作

创建列表

 

#方式一
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序列合并,并放在其后面。

  

posted @ 2017-11-14 11:42  jacky_zhao  阅读(222)  评论(0编辑  收藏  举报