一、定义:
list列表,使用[ ]定义,可以嵌套元组、列表、字典。
相比元组,除了定义使用中括号,还多出了增加、修改、删除元素的方法。
Python里经常使用的数据结构。
二、访问列表:
exp_list = ['one', 'this', 'is', 'a', 'tuple', 2, 3, 4, 5]
exp_list[起始位置:结束位置:步长]
#从左向右,第一个元素的位置是0
#从右向左,第一个元素地位置是-1
#读取的元素个数 = 结束位置 - 起始位置
#从起始位置开始读取
#步长:
默认步长是1
起始位置<结束位置,步长是正数
起始位置>结束位置,步长是负数
exp_list = ('one', 'this', 'is', 'a', 'list', 2, 3, 4, 5)
read_0 = exp_list[0:0]
read_1 = exp_list[0:1]
read_2 = exp_list[1:5]
read_3 = exp_list[::2]
read_4 = exp_list[-2:-1]
print(read_0)
print(read_1)
print(read_2)
print(read_3)
print(read_4)
三、列表的添加、修改、删除
下面操作都会改变原来表的值。
exp_list.append(obj) | 把obj添加到exp_list列表的后面,obj可以是数字、字符、元组、列表、字典 |
exp_list[位置] = 值 | exp_list[2] = 3 ;修改第三个元素值为3 |
exp_list[开始:结束] = 值1,值2... | exp_list[0:2] = 1, 2 ;exp_list[0]=1、exp_list[1]=2 多赋值语句,exp_list的元素必须和值的个数相等。 |
exp_list.insert(index,obj) | exp_list.inser(1,{})在列表的位置1,添加空字典,obj同样代表任意类型 |
exp_list.remove(obj) | 从左向右删除第一个等于obj的元素。obj同样代表任意类型 |
exp_list.extend(seq) | 把seq每个元素追加到表后。seq可以是字符(被切片)、列表、元组。 字典,只把取键值做为追加元素。 |
del | del list_name删除表,list_name变量不在; del list_name[::]删除指定元素 |
exp_list.clear() | list_name.clear(),清空所有元素,list_name还在,值为[]空列表。 |
exp_list.pop(index) | 取出index对应值,并从列表里删除。exp_list.pop(1),取出exp_list[1],并从列表删除 exp_list.pop(),无参数,默认取最后元素,并删除最后元素 |
exp_list.sort() | 将列表排序,默认从小到大,列表中元素必须是同一类型,否则报错。 |
exp_list.reverse() | 将当前表元素反序,忽视元素类型。 |
例子:
exp_list = ['one', 'this', 'is', 'a', 'tuple', 2, 3, 4, 5, 1]
exp_list.append({1:'a'})
print ('this is append:', exp_list)
exp_list[3] = ['222']
print ('this is moddify one:', exp_list)
exp_list[0:2] = 9,10
print('this is moddify two:', exp_list)
exp_list.insert(4,'i am new 4')
print('this is insert:', exp_list)
exp_list.remove(['222'])
print('this is remove:', exp_list)
exp_list.extend({1:2})
print('this is extend:', exp_list)
del exp_list[::2]
print('this is del,step=2:', exp_list)
print('pop intdex = 1:', exp_list.pop(1))
print('no indext pop:', exp_list.pop())
print('exp_list list:', exp_list)
exp_list.sort()
print('Sort list:', exp_list)
exp_list.reverse()
print('reverse list:', exp_list)
四、列表的运算、方法。
+ | 两个列表拼接 |
* | 复制列表new_list = list * 3,list列表复制三次,不会改变list表 |
len(list_name) | 计算list_name的元素个数 |
max(list_name) | 返回列表里最小值,列表元素必须是同一类型 |
min(list_name) | 返回列表里最小值,列表元素必须是同一类型 |
list(seq) | 把seq转换成列表,seq可以是字符串或元组。 字典,取所有键值,生成列表。 |
exp_list.count(obj) | 统计obj在列表里出现的次数。 |
exp_list.copy() | 浅复制列表exp_list,new_list = exp_list.copy() 修改非嵌套元素new_list与exp_list不同步更改 修改嵌套中的元素new_list与exp_list同步更改 |
exp_list.copy()示例:
exp_list = [ {1:'a'}, 2, 3, 4, 5, 1]
new_list = exp_list.copy()
print('exp_list list:\n', exp_list)
new_list[0][0] = 'b'
print('modify embedded list:\n', exp_list,'\n',new_list)
new_list[1] = 'first'
print('modify no embedded list:\n', exp_list,'\n',new_list)
转载于:https://blog.51cto.com/yishi/1981261