zoukankan      html  css  js  c++  java
  • Python(字符串,列表,元组,字典)

    1.字符串:标识" "

    PS:字符串是%s;整数是%d;浮点数%f

    strip:移除(空白或者特定字符)

    split:分割

    len:长度(获取元素的个数)

    索引

    切片

    2.列表list:方括号[ ]

    PS:先了解

    • 序列是Python中最基本的数据结构,Python有6个序列的内置类型,但最常见的是列表和元组。序列都可以进行的操作包括索引,切片,加,乘,检查成员。
    • 列表是最常用的Python数据类型
    list=["alex","oldboy","nosong","noway","nobody","jack"]
    number=[1,2,3,4,5,6,7,8,9]
    print("索引",list.index("nosong"))
    print("切片",number[2:5])
    print("步长",number[1:8:2])
    number.append(10)
    print("追加",number)
    number.insert(3,444)
    print("插入",number)
    print("长度",len(number))
    del number[0]
    print("删除",number)
    #循环输出值
    for i in list:
        print(i) 
    #带下标输出
    for k,v in enumerate(list):
        print(k,v)
    #包含
    if "alex" in list:
        print("包含:yes")
    View Code

    删除list末尾元素,用pop():

    >>> classmates.append('Tom')
    >>> print classmates
    ['john', 'jack', 'Tom']
    >>> classmates.pop()
    'Tom'

    删除指定位置元素,用pop(i):

    >>> print classmates
    ['john', 'jack', 'Tom']
    >>> classmates.pop()
    'Tom'
    >>> classmates.pop(0)
    'john'

    替换某个元素,直接赋值给对应的索引位置:例子省略

    list 元素也可以是另一个list,它只是表示一个元素:

    >>> s=['python','java',['c','c++'],'php']
    >>> len(s)
    4

    接着要拿到' c '可以写成s[2][1],因此s可以看成一个二维数组,类似三维,四位

    空的list,长度为0:

    >>> L=[]
    >>> len(L)
    0

    python 创建二维列表,将需要的参数写入 cols 和 rows 即可:

    #创建二维列表:list_2d = [[0 for col in range(cols)] for row in range(rows)]
    list_2d=[[0 for i in range(5)]for i in range(6)]
    print list_2d    
    list_2d[0].append(3)
    list_2d[0].append(5)
    list_2d[2].append(8)
    print list_2d
    View Code

    列表排序:

    #list.sort()     对列表元素排序,数字的话从小到大
    >>> a=[1,4,3,4,7,8]
    >>> a.sort()
    >>> a
    [1, 3, 4, 4, 7, 8]
    
    #list.reverse()    对列表元素进行倒序
    >>> a=[1,4,3,4,7,8]
    >>> a.reverse()
    >>> a
    [8, 7, 4, 4, 3, 1]
    View Code

    3.元组tuple:小括号()

    PS:元组不能二次赋值,相当于只读列表。即元组的元素不能修改

    tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
    
    list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
    
    tuple[2] = 1000   # 元组中是非法应用
    
    list[2] = 1000   # 列表中是合法应用
    View Code
    #创建空元组
    tup1=()
    #元组中只包含一个元素时,需要在元素后面添加逗号,因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义
    tup1=(50,)

    注意:不可变指的是tuple的元素,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。

    >>> t=('a','b',['A','B'])
    >>> t[2][0]='X'
    >>> t[2][1]='Y'
    >>> t
    ('a', 'b', ['X', 'Y'])            #一个“可变”的tuple,实际上是list的元素变了

    输出:

    tuple=('runoob',78,2.23,'john',70.2)
    tinytuple=(123,'john')
    print tuple
    print tuple[0]
    print tuple[1:3]    #输出第二个至第三个的元素
    print tuple[2:]        #输出从第三个开始至列表末尾的元素
    print tinytuple*2
    print tuple+tinytuple
    View Code

    访问元组:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    tup1=('physics','chemistry',1990,2001)
    tup2=(1,2,3,4,5)
    
    print "tup1[0]:",tup1[0]
    print "tup2[1:4]:",tup2[1:4]
    View Code

    元组元素值不能修改,但能进行元组连接组合:

    tup1=(12,23,34)
    tup2=('abc','xyz')
    #创建一个新的元组,进行连接组合
    tup3=tup1+tup2
    print tup3
    View Code

    元组不能增加元素,没有append和extend方法

    元组不能删除元素,tuple没有remove或pop,但可使用del语句来删除整个元组:

    tup=('abc','john',123,446)
    print tup
    del tup
    print "After deleting tup:"
    print tup
    View Code

     迭代:

    tup=(1,2,3)
    for i in tup:
        print i
    View Code

    计算元素个数:

    tup=(2,3,4,5,6,7)
    print len(tup)
    View Code

    索引:

    L=('a','b','c','d')
    print L[-2]     #反向读取,读取倒数第二个元素:c
    View Code

    无关闭分隔符:任意无符号的对象,以逗号隔开,默认为元组,如:

    print 'abc',-4.2e21,18+6j,'xyz'
    x,y=1,2
    print "Value of x,y:",x,y
    View Code

    比较两个元组:cmp(tup1,tup2)

    返回元组中元素最大值,最小值:max(tup); min(tup)

    将列表转换为元组:tuple(seq)

    print tuple([1,2,3,4])
    
    print tuple({1:2,3:4})     #针对字典 会返回字典的key组成的tuple:(1,3)
    
    #元组会返回元组本身
    View Code

    4.字典dict:花括号{ }

    组成:由索引(key)和它对应的值value组成,格式:d = {key1 : value1, key2 : value2 }

    字典是另一种可变容器模型,且可存储任意类型对象。字典是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。

    键必须是唯一的,但值则不必。

    两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

     创建:

    dict1={'abc':111,'Age':37}
    View Code

    访问字典中的值:(如果用字典里没有的键访问数据,会输出错误)

    dict={'Name':'john','Age':7,'Class':'First'}
    print "dict['Name']:",dict['Name']
    print "dict['Age']:",dict['Age']
    View Code

    修改字典:

    #修改字典的方法是增加新的键/值对,修改或删除已有的键/值对
    dict={'Name':'john','Age':7,'Class':'First'}
    dict['Age']=8    #修改
    dict['School']='Yi Ling School'  #增加
    
    del dict['Name']   #删除键为'Name'的条目
    print dict
    dict.clear()          #清除dict字典的所有条目
    print dict
    del dict
    print dict
    View Code

    字典键的特性:

    • 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住:

    View Code

    • 键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行:

    View Code

    5.set:  set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key

    1.要创建一个set,需要提供一个list作为输入集合:

      >>> a=set([1,2,3])

      >>> a

      set([1, 2, 3])

      

  • 相关阅读:
    项目文件.NET下编译C++代码时出现fatal error C1083: 无法打开包括文件:“xuhk_JNIHelloWorld.h”: No such file or directory错误的解决方法。
    消息错误INSTALL_FAILED_INSUFFICIENT_STORAGE
    元素链表数据结构:静态链表
    对象类Android应用程序资源管理器(Asset Manager)的创建过程分析
    23种模式中的外观模式
    接口与抽象类的区别
    java中通用的数据库连接与关闭方法类的简单写法
    对Hello China操作系统比较客观的评价
    Hello China V1.68版本源代码、安装包和相应文档,欢迎下载适用
    使用Service Bus Explorer 工具来管理和测试Topics、 Queues 和 Relay Services
  • 原文地址:https://www.cnblogs.com/zhou0000/p/8502850.html
Copyright © 2011-2022 走看看