python基础(4)-元组&字典&字符串&队列
元组(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)-元组&字典&字符串&队列的更多相关文章
- python3速查参考- python基础 4 -> 元组 + 字典 + 字符串 的学习
元组 元组:特点就是内容不可变,算只读的列表,可以被查询,不能被修改 a = 2, print(a) print(type(a)) b = ('a','b','c') print(b[1]) 运行结果 ...
- python基础深入(元组、字符串、列表、字典)
python基础深入(元组.字符串.列表.字典) 一.列表 1.追加 >>>list = [1,2,3,4] #用于在列表末尾添加新的对象,只能单个添加,该方法无返回值,但是会修改原 ...
- 2.python基础深入(元组、字符串、列表、字典)
一,对象与类 对象: python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,玩的手机就是对象. 我们通过描述属性(特征)和行为来描述一个对象的. 在python中,一个对象的特 ...
- python基础-列表元组字典
1.列表和元组 列表可以对数据实现最方便的存储.修改等操作 names=["Alex","tenglan","Eric","Rai ...
- Python学习---列表/元组/字典/字符串/set集合/深浅拷贝1207【all】
1.列表 2.元组 3.字典 4.字符串 5.set集合 6.深浅拷贝
- python之列表/元组/字典/字符串
一.列表 格式:list = ['xxx','xxx','xxx'] 性质:可以修改列表内容 copy用法: import copy names = ['] names01 = names #直接引用 ...
- 『Python基础-10』字典
# 『Python基础-10』字典 目录: 1.字典基本概念 2.字典键(key)的特性 3.字典的创建 4-7.字典的增删改查 8.遍历字典 1. 字典的基本概念 字典一种key - value 的 ...
- Python基础知识(五)------字典
Python基础知识(四)------字典 字典 一丶什么是字典 dict关键字 , 以 {} 表示, 以key:value形式保存数据 ,每个逗号分隔 键: 必须是可哈希,(不可变的数据类型 ...
- python基础数据类型--元组(tuple)
python基础数据类型--元组(tuple) 一.元组的定义和特性 定义:与列表相似,只不过就是将[ ] 改成 ( ) 特性:1.可以存放多个值 2.不可变 3.按照从左到右的顺序定义元组元素,下标 ...
随机推荐
- Android触摸事件(一)-TouchEventHelper
文件夹 文件夹 概述 关于更新 2016-08-31 2016-06-20 关于单点触摸事件singleTouch 单击的两种方式 关于双击事件 双击事件的检測逻辑 双击事件触发的时机 关于多点触摸事 ...
- C语言截取从某位置开始指定长度子字符串方法
c语言标准库没有截取部分字符串的函数,为啥?因为用现有函数strncpy,很容易做到! ] = {""}; "}; strncpy(dest, src, ); puts( ...
- 重置BizTalk RosettaNet
RosettaNet如果出现问题,可以进行重新配置安装,不过重置过程稍微有点麻烦.步骤如下: 注意:执行如下步骤前请做全部备份工作,如BTARN文件夹,自主开发的BTARN应用程序源码.MSI及Bin ...
- Kafka 生产者和消费者入门代码基础
这篇博文讲解Kafka 的生产者和消费者实例. 基础版本一 生产者 ProducerFastStart.java package com.xingyun.tutorial_1; import org. ...
- java幂等性的解决方案
一.幂等性概念 在编程中.一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同.幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数.这些函数不会影响系统状态,也 ...
- sudo: unable to execute ./script.sh: no such file or directory
I just had this exact problem, it turned out to be a text file encoding problem. For me to fix it wh ...
- [转]MySQL中timestamp数据类型的特点
原文地址:https://www.imooc.com/article/16158 在使用MySQL数据库时有很多常见的误解,其中使用int类型来保存日期数据会提高数据读取的效率就是比较常见的一个误解. ...
- Zookeeper —— 一致性协议
一致性协议 为了解决分布式系统中存在的一致性问题,提出了一些经典的一致性协议和算法. 其中著名的有:二阶段提交协议.三阶段提交协议和 Paxos 算法. 2PC 与 3PC 2PC 2pc(Two-P ...
- com.android.jack.CommandLine: Internal compiler error
Android studio编译的时候出现错误: SEVERE: com.android.jack.CommandLine: Internal compiler error Error:Executi ...
- springboot-multisource
项目中经常会出现需要同时连接两个数据源的情况,这里基于MyBatis来配置两个数据源,并演示如何切换不同的数据源. 通过自定义注解+AOP的方式,来简化这种数据源的切换操作. <properti ...