列表:
列表(list)是Python中最常用到的数据结构之一,Python使用 [ ] 来解析列表,列表是可变的。
对应操作:
- 查( [ ] )
names_class2=['张三','李四','二哈','陈皮']
print(names_class2[-1])#元素 陈皮
print(names_class2[0:7])#片段 ['张三', '李四', '二哈', '陈皮']
print(names_class2[2:3])#['二哈']
print(names_class2[0:3:2])#起:终:步长 ['张三', '二哈']
print(names_class2[3:0:-1])#['陈皮', '二哈', '李四']
print(names_class2[:])#['张三', '李四', '二哈', '陈皮']
- 增(append,insert)
insert将对象插入到列表中;append追加在列表末尾
names_class2=['张三','李四','二哈','陈皮']
names_class2.append('john') #['张三', '李四', '二哈', '陈皮', 'john']
names_class2.insert(2,'alex') #['张三', '李四', 'alex', '二哈', '陈皮', 'john']
print(names_class2)
- 改(重新赋值)
names_class2=['张三', '李四', 'alex', '二哈', '陈皮', 'john']
names_class2[1]='ilean' #['张三', 'ilean', 'alex', '二哈', '陈皮', 'john']
names_class2[0:2]=['taloy','rose'] #['taloy', 'rose', 'alex', '二哈', '陈皮', 'john']
print(names_class2) #['alex', '二哈', '陈皮']
- 删(remove,del,pop)
names_class2=['张三', '李四', 'alex', '二哈', '陈皮', 'john']
names_class2.remove('张三')
del names_class2[0] #['alex', '二哈', '陈皮', 'john']
a=names_class2.pop() #有返回值
print(names_class2) #['alex', '二哈', '陈皮']
print(a) #john
-
其他操作
5.1 count:统计元素在列表中出现次数
5.2 extend:在列表的末尾一次性追加另一个序列中的多个值,修改了列表,与+不同,它会返回一个新列表
5.3 index:从列表中找出某一个值第一个匹配项的索引位置
5.4 reverse:表中元素反转
5.5 sort:快排(小到大)
5.6 深浅拷贝 -
一个列表的小代码
product_list=[
('bike',2000),
('milk',90),
('ysl',280),
('nike',800),
('newbalance',600),
]
shopping_car=[]
saving=input('Please input your money:')
if saving.isdigit():
saving=int(saving)
for i in enumerate(product_list, 1):
print(i)
while saving>0:
choice=input('which one do you want? (exit:q)')
if choice.isdigit():
choice=int(choice)
if choice>0 and choice<=len(product_list):
p_item=product_list[choice-1]
shopping_car.append(p_item)
saving-=p_item[1]
else:
print('illegal input!')
elif choice == 'q':
print('out!')
break
else:
print('illegal input!')
else:
print('no money!')
else:
print('illegal input!')
print('---------shopping car---------')
for i in enumerate(shopping_car, 1):
print(i)
#print('balance:',saving)
print('balance:%s'%saving)