美文网首页
10 - 列表(数组)、字典、元祖

10 - 列表(数组)、字典、元祖

作者: flowerflower | 来源:发表于2017-07-22 11:19 被阅读148次

    列表

    <1>基础介绍

    列表的格式

    列表名字 = ['元素1','元素2','元素3','元素4',...]
    

    示例demo

    nameList = [1,'test']
    
    

    *注意:列表中的元素可以是不同类型的

    <2>列表的循环遍历

    • for in 循环方式1:
    for name in nameList:
        print(name)
    
    
    • while循环方式2:
    i = 0
    while i<len(nameList):
        print(nameList[i])
        i+=1
    
    Snip20170721_13.png

    <3>列表的常见操作(增删改查 )

    • 增(append, extend, insert)
      • append: 通过append可以向列表添加元素
      • extend: 通过extend可以将另一个集合中的元素逐一添加到列表中
      • insert: insert(index, object) 在指定位置index前插入元素object
    nameList = [1,'test','zhangsan']
    #for in 循环
    for name in nameList:
        print(name)
    temp = input("请输入要添加的名字:")
    #通过append可以向列表添加元素
    nameList.append(temp)
    print("添加之后列表为:",nameList)
    nameList1 = ["lisi","wangwu"]
    #通过extend可以将另一个集合中的元素逐一添加到列表中
    nameList.extend(nameList1)
    print(nameList)
    #insert(index, object) 在指定位置index前插入元素object
    nameList.insert(1,"逗逼")
    print(nameList)
    
    12.gif
    • 删(del, pop, remove)
      • del: 根据下标进行删除
      • pop:删除最后一个元素
      • remove:根据元素的值进行删除
    a = ["小明","小花",5,"大甩",6]
    print("未删之前:%s"%a)
    #根据下标进行删除
    del a[0]
    print("del删除之后:%s"%a)
    #删除最后一个元素
    a.pop()
    print("pop删除之后:%s"%a)
    #根据元素的值进行删除
    a.remove("小花")
    print("remove删除之后:%s"%a)
    
    Snip20170722_1.png
    a = ["小明","小花",5,"大甩",6]
    print("未改之前:%s"%a)
    a[0] = "大明"
    print("改完之后:%s"%a)
    
    Snip20170722_2.png
    • 查(in, not in, index, count)
    • in(存在),如果存在那么结果为true,否则为false
    • not in(不存在),如果不存在那么结果为true,否则false
    
    nameList = ["小花","lisi","王五"]
    
    findName = input("请输入要查找的名字:")
    
    if findName in nameList:
        print("找到了")
    else:
        print("没有找到")
    
    1.gif
    • index和count与字符串中的用法相同
    nameList = ["小花","lisi","王五","lisi","王五","王五","赵六"]
    
    #index下标
    print(nameList.index("赵六"))
    #count 个数
    print(nameList.count("王五"))
    print(nameList.count("lisi"))
    打印结果为:6 3 2
    
    • 排序(sort, reverse)
      • sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。
      • reverse方法是将list逆置。
    a = [1,3,5,6,11,6]
    
    a.reverse()
    print(a)   #[6, 11, 6, 5, 3, 1]
    
    a.sort()
    print(a)   #[1, 3, 5, 6, 6, 11]
    
    a.sort(reverse = True)
    print(a)   #[11, 6, 6, 5, 3, 1]
    

    字典

    <1>基础介绍

    字典的格式

    字典名字 = {键1:值1,键2:值2,键3:值3,....}
    

    示例demo

        info = {'name':'班长', 'id':10, 'address':'宇宙'}
    
    

    *注意:

    • 字典和列表一样,也能够存储多个数据
    • 列表中找某个元素时,是根据下标进行的
    • 字典中找某个元素时,是根据'名字'(就是冒号:前面的那个值,例如上面代码中的'name'、'id'、'address')
    • 字典的每个元素由2部分组成,键:值。例如 'name':'班长' ,'name'为键,'班长'为值

    <2>字典的循环遍历

    • 普通遍历
    dic ={"name":"lisi", "address":"东南亚"}
    #<1> 遍历字典的key(键)
    for key in dic.keys():
        print(key) 
    '''
    address
    name
    '''
    # <2> 遍历字典的value(值)
    for value in dic.values():
        print(value)
    '''
    东南亚
    lisi
    '''
    #<3> 遍历字典的项(元素)
    for temp in dic.items():
        print(temp)
    '''
    ('name', 'lisi')
    ('address', '东南亚')
    '''
    # <4> 遍历字典的key-value(键值对)
    for key,value in  dic.items():
        print("key= %s,value=%s"%(key,value))
    '''
    key= name,value=lisi
    key= address,value=东南亚
    '''
    
    • 带下标索引遍历
      方式一:
    dic = ["a","b","c","d","e"]
    i = 0
    for index in dic:
        print("%d %s"%(i,index))
        i +=1
    

    方式二:

    for i, item in enumerate(dic):
        print(i,item)
    

    打印结果统一为:

    0 a
    1 b
    2 c
    3 d
    4 e
    

    <3>字典的常见操作(增删改查 )

      • 如果在使用 变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素
    dic ={"name":"lisi", "address":"东南亚"}
    
    print("没增加之前:%s"%dic)
    age = input("请输入年龄:")
    
    dic['age'] = age
    print("增加之后:%s"%dic)
    

    打印结果为:

    没增加之前:{'name': 'lisi', 'address': '东南亚'}
    请输入年龄:15 
    增加之后:{'name': 'lisi', 'age': '15', 'address': '东南亚'}
    
    • 删(del、clear())
      • del删除指定的元素
    dic ={"name":"lisi", "address":"东南亚"}
    print("没删除之前:%s"%dic)
    delitem = input("请输入要删除的元素:")
    del dic["name"]
    print("删除之后:%s"%dic)
    

    打印结果为:

    没删除之前:{'name': 'lisi', 'address': '东南亚'}
    请输入要删除的元素:name
    删除之后:{'address': '东南亚'}
    
    • clear清空整个字典
    dic ={"name":"lisi", "address":"东南亚"}
    print("没删除之前:%s"%dic)
    dic.clear()
    print("删除之后:%s"%dic)
    

    打印结果为:

    没删除之前:{'address': '东南亚', 'name': 'lisi'}
    删除之后:{}
    
    • 字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改
    dic ={"name":"lisi", "address":"东南亚"}
    print("没修改之前:%s"%dic)
    newAddress = input("请输入新的地址:")
    dic["address"] = str(newAddress)
    print("修改之后:%s"%dic)
    

    打印结果为:

    没修改之前:{'name': 'lisi', 'address': '东南亚'}
    请输入新的地址:中国
    修改之后:{'name': 'lisi', 'address': '中国'}
    

    额外补充:(元祖)

    注意:Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。

    • 访问元祖
    a  = ('咋啦',100,222)
    print(a[0])
    print(a[2])
    

    打印结果为:

    咋啦
    222
    
    • 修改元组
    a  = ('咋啦',100,222)
    a[1] = 200
    
    Snip20170722_4.png
    • 元组的内置函数count, index
      *注意:
      index和count与字符串和列表中的用法
    • demo
    a  = ('咋啦',100,222,100)
    print(a.index(222))
    print(a.count(100))
    

    打印结果为:

    2
    2
    

    相关文章

      网友评论

          本文标题:10 - 列表(数组)、字典、元祖

          本文链接:https://www.haomeiwen.com/subject/rwkekxtx.html