list是Python 的内置数据类型,list是一种有序的集合,可以随时添加和删除其中的元素。
这里主要分三部分介绍Python中的list和tuple:
1.Python中list的主要用法。
2.Python中tuple的主要用法
3.Python中的list、tuple和java中的list有什么不同。
1.Python中list的主要用法
比如把一天分为上、中、下午三个时刻,可以用list来列举:
day=['上午','中午','下午'] print(day) 输出: ['上午', '中午', '下午']
list的函数(长度,增删改查)
1.list的长度表示使用 len(list)
2.list中的每一个元素都有下标(index)其中下标为负数时代表倒数比如:
day=['上午','中午','下午']
print(day[-1])#代表倒数第一个
输出:下午
3.list寻找一个元素的index用index()比如:
print(day.index('中午'))
#输出:1
4.list可使用append增加元素到末尾,也可以使用insert添加到任意位置比如:
day=['上午','中午','下午']
day.append('晚上')
print(day)
#输出:['上午', '中午', '下午', '晚上']
day.insert(3,'傍晚')
print(day)
#输出:['上午', '中午', '下午','傍晚', '晚上']
5.list可使用pop()删除末尾元素(或pop(i)删除指定元素) ,也可使用clear()清空元素
day.pop()
print(day)
#输出:['上午', '中午', '下午', '傍晚']
day.clear()
print(day)
#输出:[]
6.替换比较简单只需day[i]=xxx比如:
day[4]='夜晚'
print(day)#输出:['上午', '中午', '下午', '傍晚', '夜晚']
7.list也支持嵌套一个或多个list 类似于二维或者多维数值:
#多维数值
aft=['一点','两点','三点']
day[1]=aft
print(day)
#输出:['上午', ['一点', '两点', '三点'], '下午']
print(day[1][0])
#输出:一点
2.Python中tuple的主要用法
tuple和list用法类似,但是tuple是指向不可变。
这里就不多说了可查看廖雪峰老师的博客:使用list和tuple
3.Python中的list,tuple和java中的list的比较
java中list :是有序的,可重复的,可变的
- python list(列表)是有序的,可变的。
python tuple 有序的,不可变的(这里的不可变指的是指向不可变)
java中的list分为ArrayList,LinkedList,VectorArrayList:底层使用数组,线程不安全,查找速度快,增删速度慢
- LinkedList:底层使用链表,线程不安全,查找速度慢,增删速度快
- Vector: 底层使用数组,线程安全,查找速度快,增删速度慢,被ArrayList替代
4.练习
1.请用索引取出下面list的指定元素:
# -*- coding: utf-8 -*-
L = [
['Apple', 'Google', 'Microsoft'],
['Java', 'Python', 'Ruby', 'PHP'],
['Adam', 'Bart', 'Lisa']
]
我的答案:
xlen=len(L)
for i in range(xlen):
ylen=len(L[i])
for z in range(ylen):
print(L[i][z])
2.练习二:删除列表中全部的2
C = [1,2,1,2,1,2,1,2,2,1,1,1,2]
我的答案
for i in range(len(C)-1,-1,-1):
if C[i] == 1:
C.pop(i)
print(C)
#解析range第一个参数代表开始循环的数(13-1)
#第二个参数代表结束循环的下标(-1不包括-1)
#步长-1表倒序(这里解释为什么用倒序:
#如果使用正序删除会对剩下的数值下标有所影响)
#也就是循环12次
3.练习三:把列表中的1全部替换为2
C = [1,2,1,2,1,2,1,2,2,1,1,1,2]
for i in range(0,len(C)):
if C[i] == 1:
C[i]=2
print(C)
4.练习四:使用冒泡算法从小到大排序下面的list
G = [5,8,5,12,9,7,2,0,9,10]
for i in range(len(G)-1,-1,-1):
for z in range(i-1,-1,-1):
if G[i]<=G[z]:
x=G[z]
G[z]=G[i]
G[i]=x
print(G)