Python常用的内置序列结构(列表、元组、字典)学习笔记

361次阅读  |  发布于5年以前

列表与元组
列表用大括号[]表示,元组用圆括号()表示。
列表可以修改,字符串与元组不可修改。
元组的分片还是元组,列表的分片还是列表。

1.列表方法:


    name=["zhang3","li4","wang5"]
    name.append("gou6") #添加项
    name.remove("gou6") #移除第一个匹配项,也可用del name[3]来移除
    name.insert(3,"gou6") #插入项
    name.index("gou6") #找出第一个匹配项的位置
    name.extend(["gou6","xuan7"]) #扩展
    name.pop(0) #返回列表的第一项值并从列表中删除之

2.列表函数:


    >>> a=list("hi guys") #把字符串转换为列表
    >>> print a
    ['h', 'i', ' ', 'g', 'u', 'y', 's']
    >>> ''.join(a)  #把列表还原成字符串
    'hi guys'
    >>> max(a) #取得列表的最大元素
    'y'
    >>> len(a) #取得列表长度
    7
    >>> min(a) #取得最小元素
    ' '
    >>> tuple(a) #将列表转换为元组
    ('h', 'i', ' ', 'g', 'u', 'y', 's')
    >>> sorted(a) #将列表元素排序
    [' ', 'g', 'h', 'i', 's', 'u', 'y']

3.列表遍历:

A,使用for语句遍历


    for each_item in name:
       print(each_item)

B,使用while语句遍历


    i=0
    while i < len(name):
       print(name[i])
       i += 1

4.成员资格1:


    >>> sub="hello, you are a bear"
    >>> "bear" in sub
    True
    >>> "y" in sub
    True
    >>> raw_input("what's your name?") in sub
    what's your name?bear
    True

5.成员资格2:


    database=[
    ["zhang3","0111"],
    ["li4","0112"],
    ["wang5","0113"]
    ]
    username=raw_input("what's your user name?")
    id=raw_input("what's your id?")
    if [username,id] in database: print "access granted"

6.找出10以内的整数


    s = [x for x in range(0, 10) if x % 2 == 0]

7.生成九九乘法表


    s = [(x, y, x*y) for x in range(1, 10) for y in range(1,10) if x>=y]

字符串

1.获取字符串


    name=raw_input("what's your name?")
          print "Hello," + name + ".welcome to us"

注意:Pyhton3.x版本取消了raw_input,统一使用input
输出值:


    print name + repr(x)
    #str用于把值转换为合理的字符串,repr创建一个字符串,返回值的字符串形式
    #str是一种类型(和int一样),repr是函数

2.换行符用\n表示
原始字符串,以字符串前加一个r即可,如


    print r"c:\nowindows\no"
    path="c:\nowindows\no"; print repr(path)

3.Unicode字符串


     print u"redhat"

注意:Pyhton3.x版本所有字符串都是unicode字符串
定义字符串时,双引号和单引号都是可以用的,只不过用单引号的时候可以在字符串里面使用双引号
布尔值:


    >>> bool('i love you')
    True
    >>> bool(42)
    True
    >>> bool(1)
    True
    >>> bool('0')
    True
    >>> bool(0)
    False
    >>> bool('')
    False

4.字符串方法


    >>> tag="<a href=http://www.baidu.com>baidu indexpage</a>"
    >>> print tag[8:28] #字符串分片
    http://www.baidu.com
    >>> print tag[29:-4] #字符串分片
    baidu indexpage
    >>> tag.replace("www.baidu.com","home.sina.com") #字符串替换
    '<a href=http://home.sina.com>baidu indexpage</a>'

    >>> dirs=["","usr","bin","env"]
    >>> "/".join(dirs)  #将列表拼接成字符串
    '/usr/bin/env'
    >>> print ("C:" + "\\".join(dirs))
    C:\usr\bin\env

    >>> path="/usr/bin/env"
    >>> path.split("/") #将字符串分割成列表
    ['', 'usr', 'bin', 'env']

5.其它字符串方法


    >>> s=' I Love you!  '
    >>> s.lower() #转换字符串的小写
    ' i love you!  '
    >>> s.upper() #转换字符串的大写
    ' I LOVE YOU!  '
    >>> s.title() #换换字符串为标题(所有单词首字母大写)
    ' I Love You!  '
    >>> s.islower() #判断字符串是否为小写(也可判断大写和标题)
    False
    >>> s.strip()  #去除首尾空格,lstrip去除左边空格,rstrip去除右边空格
    'I Love you!'
    >>> word=s.split() #分割
    >>> word
    ['I', 'Love', 'you!']
    >>> '::'.join(word) #合并
    'I::Love::you!'
    >>> s.count('o') #统计出现次数
    2
    >>> s.find('you') #查找位置,如果找不到,则返回-1
    9
    >>> s.startswith('python')
    False
    >>> s.replace('you','yours')
    ' I Love yours!  '

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8