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.按照从左到右的顺序定义元组元素,下标 ...
随机推荐
- Kafka 生产者和消费者入门代码基础
这篇博文讲解Kafka 的生产者和消费者实例. 基础版本一 生产者 ProducerFastStart.java package com.xingyun.tutorial_1; import org. ...
- 各常用分类算法的优缺点总结:DT/ANN/KNN/SVM/GA/Bayes/Adaboosting/Rocchio
1决策树(Decision Trees)的优缺点 决策树的优点: 一. 决策树易于理解和解释.人们在通过解释后都有能力去理解决策树所表达的意义. 二. 对于决策树,数据的准备往往是简单或者是不必要的. ...
- ImageMagick 转换图片格式
[root@ drawable-hdpi-v4]# convert ic_launcher.jpeg ic_launcher.png [root@ drawable-hdpi-v4]# file ic ...
- Android中使用BufferedReader.readline阻塞读取不到数据,但是ready返回true
通过socket测试工具在电脑上发送消息,Android真机可以收到响应BufferedReader.ready()返回true,但是readline却一直阻塞. 原因:readline()只有在遇到 ...
- linux下python3调用c代码或者python3调用c++代码
前几篇的blog都是为了这个实验做基础,先说 原因是python调用数据库150w条数据22s,然后处理数据,其实就2个简单的for循环,65s 需求: 1. python调用c++函数 2. c++ ...
- 消息中间件系列一:入门、JMS规范、ActiveMQ使用
一.入门 1. 消息中间件的定义 没有标准定义,一般认为,采用消息传送机制/消息队列 的中间件技术,进行数据交流,用在分布式系统的集成 2. 为什么要用消息中间件 解决分布式系统之间消息的传递.电商场 ...
- 危险代码:如何使用Unsafe操作内存中的Java类和对象
危险代码:如何使用Unsafe操作内存中的Java类和对象—Part1 危险代码:如何使用Unsafe操作内存中的Java类和对象—Part2 危险代码:如何使用Unsafe操作内存中的Java类和对 ...
- A claim of type 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier' or 'http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider' was not present on the pro
Try setting (in global.cs): AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.NameIdentifier; ...
- MySQL 全文检索 ngram插件
InnoDB全文索引:N-gram Parser[转] MySql5.7 建立全文索引 InnoDB默认的全文索引parser非常合适于Latin,因为Latin是通过空格来分词的.但对于像中文,日文 ...
- Redis介绍和安装
一. Redis的介绍 Redis 是一个Key-Value存储的系统:它支持存储的value类型有string(字符串),list(列表),set(集合),zset(有序集合):为了保证效率:数据都 ...