一、列表

列表中可以将String long int char Inttger float 等数据类型单独或混合使用,在Python中,用方括号([])来表示列表,并用逗号来分隔其中的元素 ;

1、创建数组

cars = ['bmw',123,'ff91','hafu']
print(cars)

print(cars[0])

print(cars[-1]) 

输出结果: ['bmw', 123, 'ff91', 'hafu']   ; bmw ;hafu

2、向列表中添加元素

cars.append('honda')

3、向列表中插入元素

car.insert(0, 'ducati')

4、从列表中删除元素

a、方法一 :del car[0]

b、方法二:car.pop() 表示从尾部删除元素    car.pop(2)  删除列表中2号位置的元素 

motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)

popped_motorcycle = motorcycles.pop()
print(motorcycles)
print(popped_motorcycle

输出结果:['honda', 'yamaha', 'suzuki'] ; ['honda', 'yamaha']   ;suzuki 

#cars.pop()  即是表示被删除的元素,本题目中值得就是suzuki ,因此我们是可以使用这个方法进行一些操作的

c、方法三:remove()   删除数组中制定内容

car.remove(123)  即是表示直接删除 “123” 这个元素

5、列表元素的排序

     a、sort()  永久性排序,即是按字母顺序或者数字顺序升序排序,完成之后再也无法恢复

ars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars)

注:print(cars.sort()),是无意义的,且会报错的 ;数字和字符串是不能同时排序的

输出结果:['audi', 'bmw', 'subaru', 'toyota']

b、sort(reverse=True ),是sort()排序的逆向排序,当想按照降序排序的时候,在括号里面传入reverse=True参数即可

cars.sort(reverse=True)
print(cars)

['toyota', 'subaru', 'bmw', 'audi']

c、使用函数 sorted()对数组进行临时排序

代码:

 

结果:

d、反转列表 reverse()  永久性反转数组

print(cars)
cars.reverse()
print(cars)

结果:  

['eodi', 'bmw', '123', 'ff91', 'hafu', 'ibm']
['ibm', 'hafu', 'ff91', '123', 'bmw', 'eodi']

6、数组的长度   len(cars)

print(len(cars))

二、列表的操作

1、遍历列表

“for magician in magicians: ”,这行代码让Python获取列表magicians中的第一个值('alice'),并将其存储到变量magician
中。接下来, Python读取下一行代码。此中的magician是一个临时变量,当for循环执行完,该临时变量也被系统回收

注意:for循环中的语句的缩进用法,谨记!!不缩进的情况,系统会报错:IndentationError

 

 三、数字(int Inttger等等)列表的常见

1、使用range()和list()创建列表

 

 

2、数字数组的统计方法,min(digits)  max(digits) sum(digits)
digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
3、创建一个列表,其中包含前 10个整数(即1~10)的平方
方法一: 

squares = [value**2 for value in range(1,11)]
print(squares)
方法二:

squares = []
for value in range(1,11):
squares.append(value**2)


方法三:

squares = []
for value in range(1,11):
square = value**2
squares.append(square)
print(squares)

4、数组切片

代码:

players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[0:3])
print(players[:4])
print(players[2:])
print(players[-3:])

结果:

['charles', 'martina', 'michael']
['charles', 'martina', 'michael', 'florence']
['michael', 'florence', 'eli']
['michael', 'florence', 'eli']

5、数组的遍历切片 

for player in players[:3]:
print(player.title())

结果:

Charles
Martina
Michael

6、数组的复制

players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players)
copy_players =players[:]
print(copy_players)

结果:

['charles', 'martina', 'michael', 'florence', 'eli']
['charles', 'martina', 'michael', 'florence', 'eli']

注意一:此方法是复制的palyers中的元素到copy_palyers中去

 注意二:else_players = players 所表达意思,将players的值赋给else_players,并没有实现元素的复制,

仅仅是else_players地址指针指向了players的地址(并不是players中的值的地址),因此当players修改

之后,else_players也会跟着修改

                   

 注意三:当一个简单变量之间等号赋值的情况效果又不一样了,当name1变更过后,name2是不会跟随变更,

因为name2指向的是name1中所储存的值的地址

代码:

name1= "Joker"
name2=name1
print(name1)
print(name2)
name1="frunk"
print(name1)
print(name2)

结果:

Joker
Joker
frunk
Joker

 

 

posted on 2018-06-28 14:13  Joker_王  阅读(386)  评论(0编辑  收藏  举报