zoukankan      html  css  js  c++  java
  • Python:Day06 元组、字典、字符串

    tuple(元组)

    元组被称为只读列表,即数据可以被查询,但不能被修改,所以列表的切片操作同样适用于元组。

    元组写在( )里,元素之间用逗号隔开。

    tul1 = ( )  #空元组

    tul2 = (20,)  #一个元素需要在面添加逗号

    另外,元组的意义还在于,元组可以在映射(和集合的成员)中当作键使用---而列表则不行,元组作为很多内建函数和方法的返回值存在。

     len() 方法返回对象(字符、列表、元组等)长度项目个数

    Dictionary(字典)

    字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定 value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。

    字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取的。

    dic1 = {'name':'alex' , 'age':36 , 'sex':'male'}

    dic1['name']  #通过键来取值

    所有的数据类型,不论哪一种都可以做为值。

    键必须是唯一的,且不能修改。

    数据类型:数字、字符串、布尔值、列表、元组、字典。

    查看内存地址:id(a)

    数据类型不可变类型:整型、字符串、元组

    数据类型可变类型:列表、字典

    字典两在特点:无序、键唯一

    增加:

    1、dic1['age'] = 18  #字典后面直接跟中括号,里面写要加的键并且赋一个值。

    2、dic1.setdefault('age',34)  #如果字典中没有这个键,则新加这个键值对,返回值为新赋的值,如果有,此次赋值不生效,返回值为原有值。

    查:

    dic3['name']

    dic3.keys()  #查看字典中所有的键

    dic3.values()  #查看字典中所有的值

    dic3.items()  #查看所有键值对

    改:

    dic3['name'] = 55

    dic4.update(dic3)  #将字典3增加到字典4中,如果有相同的,则更新。

    删:

    dic5.clear()  #清空字典

    del dic5['name']  #删除整个键值对

    dic5.pop('age')  #将键值对删掉,并将键值对的返回,键不返。

    dic5.popitem()  #随机删除某个键值对,并以元组的形式返回值。键值都返回。

    del dic5  #删除整个字典

    其它操作以及涉及到的方法:

    dic6=dic.fromkeys(['host1','host2','host3'],'tset')

    字典的嵌套:

    字典排序:

    sorted(dict):返回一个有序的包含字典所有key的列表,根据key排序

    sorted(dict.values())  #根据值排序

    sorted(dict.items())  #根据键排序

    字典的遍历:

    1 for i in dic5:        #字典后面什么方法都没有,这样只会将key赋值给i,不包括值
    2     print(i,dic5[i])      
    3 
    4 for i,v in dic5.items():     #字典后面跟items,会将key和值都赋值给前面变量,如果前面有两个变量,会分别赋值
    5     print(i,v)       

    字符串:

    重复输出字符串:

    print('hello'*2)    #输出两遍hello

    通过索引获取字符串中字符,这里和列表的切片操作是相同的:

    print('helloworld'[2:])

    in 成员运算符,如果字符串中包含给定的字符返回True

    print('el' in 'hello')

    格式化字符串:就是格式化输出

    字符串拼接:

    a='123'
    b='abc'
    c=a+b
    c=''.join([a,b])
    1 a='123'
    2 b='abc'
    3 d='888'
    4 c='***'.join([a,b,d])
    5 print(c)
    6 
    7 123***abc***888    #这是输出结果

     String的内置方法:

     1 st = 'hello kitty'
     2 print(st.count('y'))    #统计y字母的个数
     3 print(st.capitalize())  #将字符串首字母大写,此处会将H大写,k不会大写
     4 print(st.center(50,'-'))  #打印50个-,并将字符串居中
     5 print(st.ljust(50,'*'))    #将字符串放左面,右边打印50个*
     6 print(st.rjust(50,'*'))    #将字符串放右面,左面打印50个*
     7 print(st.endswith('tty'))   #判断是否以某个内容结尾,返回布尔值
     8 print(st.startswith('h'))  #判断是否以某个内容开头,返回布尔值
     9 print(st.expandtabs(tabsize=10))    #
    10 print(st.find('t'))     #查找到第一个元素,并将索引值返回,空格也算
    11 st = 'hello kitty {name} is {age}'
    12 print(st.format(name='alex',age = 37))      #格式化输出的另一种方式
    13 print(st.format_map({'name':'alex','age':22}))      #格式化输出的另一种方式
    14 print(st.index('qqq'))      #和find功能一样,只不过index找不到会报错,而find不会
    15 print('126.999'.isdigit())  #必须整型,不然返回False
    16 print('abc'.islower())      #判断字符串是不是都是小写
    17 print('ABC'.isupper())      #判断字符串是不是都是大写
    18 print(''.isspace())     #判断是否是一个空格,不是包含空格
    19 print('My title'.istitle())   #判断是不是每个单词首字母大写
    20 print('My title'.lower())   #将所有大写变小写
    21 print('My title'.upper())   #将所有小写变大写
    22 print('My title'.swapcase())   #将大小写反转
    23 print(' My title  '.strip())   #将前后空格和换行符去掉
    24 print(' My title  '.lstrip())   #将前面空格和换行符去掉
    25 print(' My title  '.rstrip())   #将后面空格和换行符去掉
    26 print('My title title'.replace('title','lesson'1))  #对某些字符进行替换
    27 print('My title'.rfind('t'))    #从右面查找字符索引,索引还是从左往右的索引
    28 print('My title'.split('i'))    #用i将字符分开,结果中不再包含i,i做分隔符了,通常用空格,和join是相反操作
    29 print('My title'.title())   #将字符串中的英文单词首字母大写
    摘一些重要的字符串方法:
     1 print(st.count('y'))    #统计y字母的个数
     2 print(st.center(50,'-'))  #打印50个-,并将字符串居中
     3 print(st.startswith('h'))  #判断是否以某个内容开头,返回布尔值
     4 print(st.find('t'))     #查找到第一个元素,并将索引值返回,空格也算
     5 print(st.format(name='alex',age = 37))      #格式化输出的另一种方式
     6 print('My title'.lower())   #将所有大写变小写
     7 print('My title'.upper())   #将所有小写变大写
     8 print(' My title  '.strip())   #将前后空格和换行符去掉
     9 print('My title title'.replace('title','lesson'1))  #对某些字符进行替换
    10 print('My title'.split('i'))    #用i将字符分开,结果中不再包含i,i做分隔符了,通常用空格,和join是相反操作
  • 相关阅读:
    百度echarts插件x轴坐标显示不全决解方法
    Laravel
    Mysql 递归获取多重数组数据
    Laravel 怎么使用资源控制器delete方法
    Laravel 怎么在 blade 视图中将带 HTML 字符原样输出
    laravel sql复杂语句,原生写法----连表分组
    mysql连表分组报错---- sql_mode=only_full_group_by问题解决
    Bootstrap -- 模态框实现拖拽移动
    xcode6模拟器UITextField不能自动弹出键盘
    在Linux系统中使用rpm包安装FTP服务
  • 原文地址:https://www.cnblogs.com/sq5288/p/8290017.html
Copyright © 2011-2022 走看看