zoukankan      html  css  js  c++  java
  • python之 list、tuple、dict、set

    2016-08-24   14:32:59

    list

    Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。

    例如:定义一个列表L,里面存放了一些姓氏。print(l)就输入了整个列表。

    1 >>> l = ['','','','']
    2 >>> print (l)
    3 
    4 ['', '', '', '']

    对列表的操作一般为:增、删、改、查。

    查:

    用下标取列表中的值,第一个元素的下标为0。

     1 l = ['zhao','qian','sun','li','zhou','wu','zheng','wang']
     2 
     3 #
     4 print(l)
     5 ['zhao', 'qian', 'sun', 'li', 'zhou', 'wu', 'zheng', 'wang']
     6 print(l[1])
     7 qian
     8 print(l[-1])
     9 qian
    10 print(l[1:])
    11 ['qian', 'sun', 'li', 'zhou', 'wu', 'zheng', 'wang']
    12 print(l[1:5])
    13 ['qian', 'sun', 'li', 'zhou']
    14 print(l[5:1:-1])      #从下标为5的元素开始,-1:就是倒着往前步长为1 取元素,取到下标为1的位置停止。
    15 ['wu', 'zhou', 'li', 'sun', 'qian']

    增:

    增加一个元素

     1 l = ['zhao','qian','sun','li','zhou']
     2 #append, 在列表末尾追加
     3 print(l)
     4 ['zhao', 'qian', 'sun', 'li', 'zhou']
     5 l.append("zhou")
     6 print(l)
     7 ['zhao', 'qian', 'sun', 'li', 'zhou', 'zhou']
     8 
     9 #insert,根据索引插入任何想插入的位置
    10 l.insert(1,'wang')
    11 print(l)
    12 ['zhao', 'wang', 'qian', 'sun', 'li', 'zhou', 'zhou']

     

    改:

    修改列表内的元素。

     1 #修改
     2 l = ['zhao','qian','sun','li','zhou']
     3 print(l)
     4 ['zhao', 'qian', 'sun', 'li', 'zhou']
     5 
     6 l[1] = 'lao wang'
     7 print(l)
     8 ['zhao', 'lao wang', 'sun', 'li', 'zhou']
     9 
    10 #批量插入
    11 l[2:4] = ['a','b','c']
    12 print(l)
    13 ['zhao', 'lao wang', 'a', 'b', 'c', 'zhou']

     删:

     1 #
     2 l = ['zhao','qian','sun','li','zhou']
     3 print(l)
     4 l.pop(2)    #通过下标删除内容
     5 print(l)
     6 l.pop()     #pop括号内不加参数,默认删除最后一个元素
     7 print(l)
     8 del l[1]    #删除索引指的元素
     9 print(l)
    10 del l
    11 print(l)
    12 ********************
    13 ['zhao', 'qian', 'sun', 'li', 'zhou']
    14 ['zhao', 'qian', 'li', 'zhou']
    15 ['zhao', 'qian', 'li']
    16 ['zhao', 'li']
    17 
    18 print(l)
    19 NameError: name 'l' is not defined     #因为del l ,把整个l 列表删除了,所以print的时候报错了

    排序:

     1 #排序
     2 l = ['zhao','qian','sun','li','zhou','wang']
     3 print(l)
     4 l.sort()        #默认从小到大排序,因为reverse的默认值是False
     5 print(l)
     6 l.sort(reverse=True)        #sort括号里加reverse=True从大到小排序
     7 print(l)
     8 l.reverse()     #反转顺序
     9 print(l)
    10 l.reverse()     
    11 print(l)
    12 ******************
    13 ['zhao', 'qian', 'sun', 'li', 'zhou', 'wang']
    14 ['li', 'qian', 'sun', 'wang', 'zhao', 'zhou']
    15 ['zhou', 'zhao', 'wang', 'sun', 'qian', 'li']
    16 ['li', 'qian', 'sun', 'wang', 'zhao', 'zhou']
    17 ['zhou', 'zhao', 'wang', 'sun', 'qian', 'li']

    身份判断

    #身份判断
    a = ['zhao','qian','sun','li','zhou','wang']
    print(type(a) is list)
    print(type(a) is str)
    
    *************************
    True
    False

    tuple

    另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改。

    1 t = ('zhao','qian','sun','li','zhou','wang')
    2 print(t)
    3 print(t[1])
    4 
    5 *************************
    6 ('zhao', 'qian', 'sun', 'li', 'zhou', 'wang')
    7 qian

    dict

    Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。用dict可以装下整个世界,你信吗?

     1 #定义一个字典,存入一些用户信息
     2 dic = {"name":"ligq","age":23,'job':'IT'}
     3 print(dic)      #输出整个字典
     4 #遍历dic字典中的所有 键
     5 for i in dic:
     6     print(i,end=' ')
     7 print()
     8 #遍历dic字典中的所有 值
     9 for i in dic:
    10     print(dic.get(i),end=' ')           #用dict的 get(键)方法,取字典这对应的 值
    11 print()
    12 #遍历dic字典中的所有 键和值 ---推荐使用
    13 for i in dic:
    14     print(i,dic[i],end=' ')
    15 print()
    16 #使用字典的items方法,遍历dic字典中的所有 键和值
    17 for i,v in dic.items():
    18     print(i,v,end=' ')
    19 print()
    20 dic1 = {1:23423,8:32,2:23,5:42}
    21 print(dic1)
    22 print(dic1.values())        #获取值
    23 print(dic1.items())         #获取键-值对
    24 print(dic1.keys())          #获取键
    25 
    26 print(dic1.pop(1))          #删除键是1的键值对,并返回删除的值
    27 print(dic1)     
    28 
    29 
    30 *******************************
    31 {'age': 23, 'job': 'IT', 'name': 'ligq'}
    32 age job name 
    33 23 IT ligq 
    34 age 23 job IT name ligq 
    35 age 23 job IT name ligq 
    36 {8: 32, 1: 23423, 2: 23, 5: 42}
    37 dict_values([32, 23423, 23, 42])
    38 dict_items([(8, 32), (1, 23423), (2, 23), (5, 42)])
    39 dict_keys([8, 1, 2, 5])
    40 23423
    41 {8: 32, 2: 23, 5: 42}
  • 相关阅读:
    第五章 面向方面编程___通知类型
    从 C++ 到ObjectiveC
    iPhone/Mac ObjectiveC内存管理教程和原理剖析(三)@property (retain)和@synthesize的默认实现
    两个操作字符串的方法:读取指定位置的字符和找出某个字符串的位置
    SQLITE3使用总结
    iphone中如何进行多线程编程
    sqlite数据库在IOS中的运用
    重载、覆盖、隐藏
    (转)c/c++ 内存管理
    iPhone/Mac ObjectiveC内存管理教程和原理剖析(四)系统自动创建新的autorelease pool
  • 原文地址:https://www.cnblogs.com/noube/p/5804243.html
Copyright © 2011-2022 走看看