Study 8 —— 数据类型(列表/list)


列表是一个数据的集合,集合内可以放任何数据类型,可对集合进行方便的增删改查操作

1. 定义列表:
方法一:
L1 = []   #定义空列表
L2 = ['A', 'B', 'C']  #存3个值,索引0-2
L3 = ['A', ['B', 'C'], 'C']  #嵌套列表
 
方法二:
L4 = list()
print(L4)
列表定义的值可重复
L5 = ['a', 'A', 'b', 'a', 'B']
 
2. 查询
变量名[索引]   #查询索引对应值
变量名.index(内容)  #查看值索引(重复内容只给出第一个内容的索引值)
变量名.count(内容)  #统计重复值个数
 
3. 切片
切片时,索引从小到大,从左到右
变量名[开始索引:结束索引]   #只有开头没有结尾    
变量名[索引:]   #开始索引到末尾都可取得
变量名[:索引]   #从开头到结束索引
变量名[:]    #提取整个列表值
变量名[索引:索引:n]  #在当前索引范围内,每隔n个字符串,提取一次
 
4. 增加
变量名.append('字符串')    #追加字符串
变量名.insert(索引, '字符串')   #在索引前插入字符串
 
5. 修改
变量名[索引] = '字符串'   #修改当前索引字符串内容
 
6. 删除
变量名.remove('值')   #重复值只删除第一个
del 变量名[索引]  
del 变量名
del 变量名[索引:索引]   #批量删除某一段
变量.clear()    #清空列表
7. 循环
循环打印列表
for 临时变量 in 变量:
    print(临时变量)
range(10)   #生成0-10的列表
 
for i in range(10):
    print(i)
0
1
...
9
10
 
8. 排序
变量名.sort()   #按照ASCII编码表排序
变量名.reverse()  #倒序排列
 
9. 合并
变量A + 变量B   #将两个列表里的内容合并成一个列表
变量A.extend(变量B) 
 
10. copy
L2 = L1.copy()  #copy列表L1里的值到列表L2,并且在更改L1列表值时不影响L2列表
 
练习:
1. 循环names列表,打印每个元素的索引值,和元素,当索引值为偶数时,把对应的元素改成-1
names = [1, 2, 3, 4, 2, 5, 6, 2, 'old_dirver', 'rain', ['oldboy', 'oldgirl'], 'javk', ['李明'], 'peiqi', 'alex', 'black_girl']
for index,i in enumerate(names):      #enumerate  枚举
    if index % 2 == 0:
        names[index] = -1
        print(index, i)
print(names)
 
2. products = [['Iphone8',6888],['MacPro',14800],['小米6',2499],['Coffee',31],['Book',80],['Nike Shoes',799]],写一个循环,不断的问用户想买什么,用户选择一个商品编号,就把对应的商品添加到购物车里,最终用户输入q退出时,打印购物车里的商品列表。
products = [['Iphone8', 6888],['MacPro', 14800],['小米6', 2499],['Coffee', 31],['Book', 80],['Nike Shoes', 799]]
commodities = []

exit_flag = False   #标识位
while not exit_flag:
    print('------------List of commodities------------')
    for index,i in enumerate(products):
        print("%s. %s   %s" %(index, i[0], i[1]))

    choice = input('输入你想要的商品编号:')
    if choice.isdigit():
        choice = int(choice)
        commodities.append(products[choice])
        print('你选择了: ', products[choice])
        # if choice >= 6:
        #     print('The number of input must less than 6 !')
        #     continue
        # elif choice < 0:
        #     print("The number of input can't be negative !")
        #     continue
    elif choice == 'q':
        print('========== 你选择的所有商品如下 ==========')
        for index,i in commodities:
            print('%s   %s' %(index,i))
        #break
        exit_flag = True
posted @ 2017-11-10 18:22  yancy.lu  阅读(514)  评论(0编辑  收藏  举报