元组(tuple)

 #元组相对列表来说不同之处是只读不可写 读操作和列表一致
 letter_tuple = ('a','b','c','d');
 print(letter_tuple[0]);#result:a
 print(letter_tuple[0:3]);#result:['a', 'b', 'c']
 print(letter_tuple[3::-1]);#result:['c', 'b', 'a']

字典 (dictionary)

 addressDic = {'湖北':['武汉','襄阳'],'湖南':['长沙','岳阳']}
 for province in addressDic:
     cityList = addressDic[province];
     print(province,end = ":");
     for city in cityList:
         print(city,end = ";");
     print();
 #result:
     # 湖北: 武汉;襄阳;
     # 湖南: 长沙;岳阳;

字符串 (string)

 letterStr = 'abcdefg';
 #重复输出
 print(letterStr*2);#result:abcdefgabcdefg
 #切片
 print(letterStr[2:]);#result:cdefg
 #判断是否存在
 print('abc' in letterStr);#result:True
 #格式化输出
 print('abcd%s'%'efg');

 #string的内置方法
 #获取元素个数
 print(letterStr.count('c'));#result:1
 #字符串首字母大写
 print(letterStr.capitalize());#result:Abcdefg
 #指定长度居中
 print(letterStr.center(20,'-'));#result:------abcdefg-------
 #是否以指定元素结尾
 print(letterStr.endswith("g"));#result:True
 #是否以指定元素开头
 print(letterStr.startswith("a"));#result:True
 #指定tab空格长度
 print("a\tb".expandtabs(tabsize=10));#result:a         b
 #返回指定第一个元素索引值
 print(letterStr.find('c'));#result:2
 #格式化
 print("hello {next}".format(next="world"));#result:hello world
 print("name:{name};{age} years old".format_map({"name":"zhangsan","age":12}));#result:name:zhangsan;12 years old
 #返回指定元素索引 不存在时会报错
 print(letterStr.find('c'));#result:2
 #判断只包含数字或字母
 print("deqad#".isalnum());#result:False;
 #判断是否是整形数字
 '.isdigit());#result:True
 #判断是否不是非法命名
 print("123a".isidentifier());#result:False
 #判断是否小写
 print(letterStr.islower());#result:True
 #判断是否大写
 print(letterStr.isupper());#result:False
 #判断是否是个空格
 print(letterStr.isspace());#result:False
 #判断是否每个单词首字母大写
 print(letterStr.istitle())#result:False
 #转小写
 print(letterStr.lower());#result:abcdefg
 #转大写
 print(letterStr.upper());#result:ABCDEFG
 #大小写反转
 print(letterStr.swapcase());#result:ABCDEFG
 #左填充
 print(letterStr.ljust(20,'*'));#abcdefg*************
 #右填充
 print(letterStr.rjust(20,'*'));#*************abcdefg
 #去首尾空白字符
 print("  ade  \n".strip());#result:ade
 #去首部空白字符
 print("  ade  ".lstrip());#result:ade
 #去尾部空白字符
 print("  ade  \n".rstrip());#result:  ade
 #替换
 print(letterStr.replace('g','ghi'));#result:abcdefghi
 #从右往左查找 返回实际位置
 print("acbbbbcss".rfind('c'));#result:6
 #切割字符串 返回列表
 print(letterStr.split('d'));#result:['abc', 'efg']
 #字符串内每个单词首字母大写
 print('hello world'.title());#result:Hello World

队列(queen)

 import queue

 q = queue.Queue()
 q.put(1)
 q.put(2)
 q.put(3)
 print(q.qsize())  # 3 查看队列元素个数

 print(q.get())  # 阻塞

练习

三级联动

 mainDic = {
     'a1':{
         'a1b1':{
             'a1b1c1':{},
             'a1b1c2':{},
             'a1b1c3':{}
         },
         'a1b2':{
             'a1b2c1': {},
             'a1b2c2': {},
             'a1b2c3': {}
         },
         'a1b3':{
             'a1b3c1': {},
             'a1b3c2': {},
             'a1b3c3': {}
         }
     },
     'a2':{
         'a2b1': {
             'a2b1c1': {},
             'a2b1c2': {},
             'a2b1c3': {}
         },
         'a2b2': {
             'a2b2c1': {},
             'a2b2c2': {},
             'a2b2c3': {}
         },
         'a2b3': {
             'a2b3c1': {},
             'a2b3c2': {},
             'a2b3c3': {}
         }
     },
     'a3':{
         'a3b1': {
             'a3b1c1': {},
             'a3b1c2': {},
             'a3b1c3': {}
         },
         'a3b2': {
             'a3b2c1': {},
             'a3b2c2': {},
             'a3b2c3': {}
         },
         'a3b3': {
             'a3b3c1': {},
             'a3b3c2': {},
             'a3b3c3': {}
         }
     }
 };
 currentLayer = mainDic;
 parentLayers = [];
 while True:
     for item in currentLayer:
         print(item);
     choose = input('input your choose:');
     if(choose in currentLayer):
         if not currentLayer[choose]:
             print('last layer');
             continue;
         parentLayers.append(currentLayer);
         currentLayer = currentLayer[choose];
     elif choose=='e':
         currentLayer = parentLayers.pop();
     elif choose=='exit':
         break;
     else:
         print('该项不存在');

 #result:
     # >>a1
     # >>a2
     # >>a3
     # >>input your choose:a2
     # >>a2b1
     # >>a2b2
     # >>a2b3
     # >>input your choose:a2b2
     # >>a2b2c1
     # >>a2b2c2
     # >>a2b2c3
     # >>input your choose:e
     # >>a2b1
     # >>a2b2
     # >>a2b3
     # >>input your choose:e
     # >>a1
     # >>a2
     # >>a3
     # >>input your choose:exit

扩展

批量赋值

 a,b = [1,2];
 print(a);#result:1
 print(b);#result:2

enumerate(iterable:遍历对象,start:起始下标)

该函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

letter_tuple = ['a','b','c','d','e'];
for index,value in enumerate(letter_tuple,1):
    print(index,value);
#result:
    # (1, 1)
    # (2, 2)
    # (3, 3)
    # (4, 4)
    # (5, 5)

取序列长度

 letterStr = 'abcdefg';
 letterList = ['a','b','c','d','e','f','g'];
 print(len(letterStr));#result:7
 print(len(letterList));#result:7

可把序列当做判断条件,为空时返回False,反之True

 list = [];
 if list:print('True');
 else:print('False');
 #result:False;
 list.append(1);
 if list:print('True');
 else:print('False')
 #result:True

python基础(4)-元组&字典&字符串&队列的更多相关文章

  1. python3速查参考- python基础 4 -> 元组 + 字典 + 字符串 的学习

    元组 元组:特点就是内容不可变,算只读的列表,可以被查询,不能被修改 a = 2, print(a) print(type(a)) b = ('a','b','c') print(b[1]) 运行结果 ...

  2. python基础深入(元组、字符串、列表、字典)

    python基础深入(元组.字符串.列表.字典) 一.列表 1.追加 >>>list = [1,2,3,4] #用于在列表末尾添加新的对象,只能单个添加,该方法无返回值,但是会修改原 ...

  3. 2.python基础深入(元组、字符串、列表、字典)

    一,对象与类 对象: python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,玩的手机就是对象. 我们通过描述属性(特征)和行为来描述一个对象的. 在python中,一个对象的特 ...

  4. python基础-列表元组字典

    1.列表和元组 列表可以对数据实现最方便的存储.修改等操作 names=["Alex","tenglan","Eric","Rai ...

  5. Python学习---列表/元组/字典/字符串/set集合/深浅拷贝1207【all】

    1.列表 2.元组 3.字典 4.字符串 5.set集合 6.深浅拷贝

  6. python之列表/元组/字典/字符串

    一.列表 格式:list = ['xxx','xxx','xxx'] 性质:可以修改列表内容 copy用法: import copy names = ['] names01 = names #直接引用 ...

  7. 『Python基础-10』字典

    # 『Python基础-10』字典 目录: 1.字典基本概念 2.字典键(key)的特性 3.字典的创建 4-7.字典的增删改查 8.遍历字典 1. 字典的基本概念 字典一种key - value 的 ...

  8. Python基础知识(五)------字典

    Python基础知识(四)------字典 字典 一丶什么是字典 ​ dict关键字 , 以 {} 表示, 以key:value形式保存数据 ,每个逗号分隔 ​ 键: 必须是可哈希,(不可变的数据类型 ...

  9. python基础数据类型--元组(tuple)

    python基础数据类型--元组(tuple) 一.元组的定义和特性 定义:与列表相似,只不过就是将[ ] 改成 ( ) 特性:1.可以存放多个值 2.不可变 3.按照从左到右的顺序定义元组元素,下标 ...

随机推荐

  1. 解决AndroidStudio导入项目卡在gradle加载界面

    为了节省排版时间,直接上图了,图片若看不清,可在新标签中打开查看. 文中图片上涉及到的一些链接如下: maven { url 'http://maven.aliyun.com/nexus/conten ...

  2. Asp.Net MVC三层架构之autofac使用教程

    开发环境:vs2015..net4.5.2.mvc5.ef6 Autofac简介 IOC控制反转(Inversion of Control,缩写为IOC),Autofac是一个开源的依赖注入框架,Au ...

  3. MySQL 大表数据定期归档

    数据库有一张表数据量很大,真正WEB项目只用到一个月内的数据,因此把一个月前的旧数据定期归档. 1 - 创建一个新表,表结构和索引与旧表一模一样 create table table_news lik ...

  4. 安卓sdk webview获取淘宝个人信息100项,源码。

    1.贴出主要代码.这个不是python,python只涉及了服务端对信息提取结果的接受.主体是java  + android + js.由于淘宝各模块都是二级子域名,不能只在一个页面完成所有请求,aj ...

  5. 转:十步完全理解SQL

    来自:http://blog.jobbole.com/55086/ 很多程序员视 SQL 为洪水猛兽.SQL 是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言.面向对象的程序语 ...

  6. Orders matters: seq2seq for set 实验

    论文提出了input的顺序影响seq2seq结果 有一些输入本身是无序的怎么去处理呢 作者提出LSTM controller的方式 替代输入的LSTM encode方式         作者实验这种方 ...

  7. link元素 rel src href属性

    The SRC and HREF attributes are used to include some external entities like an image, a CSS file, a ...

  8. js中 函数声明/函数表达式/匿名函数/箭头函数/立即执行函数

    函数声明: function add(a, b) { // ... } 1.顾名思义,声明一个函数, 用关键字 “function” 来告诉,这是一个函数. 2.任何地方,想用就可以拿过来使用 函数表 ...

  9. Java 中的几个算法

    一.冒泡排序.插入排序.希尔排序.快速排序与归并排序 效率概要: 冒泡排序是蛮力法,使用两层嵌套循环,基本效率为 O(n^2) 插入排序是减治法,第一趟排序,最多比较一次,第二趟排序,最多比较两次,以 ...

  10. phpcms 自定义方法

    路径:\install_package\phpcms\libs\functions\extention.func.php <?php //输入栏目ID获取父级栏目名称 function catp ...