Python自学第二天学习之《元组与字典》
一、 元组:tuple类型,元组一级元素 不能修改 不能增加 不能删除,是有序的。
格式 :tu=(1,2,3,4,5,6)
1.类型转换:
#字符串转换成元组
b=“123”
c=tuple(b) #转换类型
print(c)----- ("1","2","3")
print(type(c))----<class 'tuple'> #tuple类型
#列表转换成元组:
b=[1,2,3,4]
c=tuple(b) #转换类型
print(c)----- (1, 2, 3, 4)
print(type(c))-----<class 'tuple'> #tuple类型
#元组转换成列表
tu=(1,2,3,4)
c=list(tu) #转换类型
print(c)-----([1,2,3,4])
print(type(c))-----<class 'list'> #list类型
#元组转换成字符串
s=""
tu=(1,2,3,4)
for i in tu: -----#遍历列表
s=s+str(i) -----#将每个元素转换成str类型相加
print(s)------1234
print(type(s))----<class 'str'> #str类型
注#数字不能转换成列表list,也不能转换成元组 反之也不能
2.列表的取值、查询、长度、循环:
tu=(1,2,3,4,5,6) #索引取值:
v=tu[0] #获取tu元组中下表为0的元素
print(v) -----1 #切片取值:
v=li[0:3] #获取tu元组中下表0到3的元素 含头不含尾
print(v)----- (1,2,3) #切片元组返回值是元组
print(tu[0:3:2])-----(1, 3) #从下标是0的元素开始取值 每俩个取一个 到下标是3的元素结束,取值不包含3
#查询:
a in li #在就返回True 不在就false
not in #和 in 操作符相反
#获取列表的长度
v=len(tu) #获取元组的长度
print(v)----- 6 #循环语句:
for item in tu #循环遍历
print(item) ------1 2 3 4 5 6 在元组内是什么类型,循环出来之后还是什么类型
while 条件:
执行代码块
3.元组的加与乘:
#程序程序:
tua=(1,2,3)
tub=(4,5,6)
tu = tua +tub #元组与元组相加(就是俩个元组组合到一块)
print(li)
#运行结果:(1, 2, 3, 4, 5, 6)
#程序程序:
tua=(1,2,3)
tu =tua*3 #元组可以与数字相乘(重复相应次数再组合)
print(tu)
#运行结果:(1, 2, 3, 1, 2, 3, 1, 2, 3)
4.元祖中的方法:
tu=[1,2,3,4,5,6] <1> tu.count(参数) #获取参数在元组中出现的次数。 参数可以是变量,可以是任何数据类型
<2> li.index(参数1,开始索引,结尾索引) #获取指定值的索引位置。 在开始索引,结尾索引范围中间,寻找参数1的索引 不包含结尾索引(含头不含尾) 。 从左到右找到第一个就返回索引值。找不到就报错
二、 字典:dict类型,字典 ,是无序的
格式 :info={“key1”:“value1”,“key2”:“value2”,“key3”:“value3 ”}
#value可以是任何数据类型,key不能是列表、字典(因为他们不能直接转成哈希值)
1.列表的取值、查询、长度、循环:
info={"name":"momo","age":18,"成绩":{"语文":80,"数学":85},"上课时间":["周一","周二","周三"]}
#索引取值:
v=info[name] #获取info字典中key为name的元素
print(v) -----momo
#切片取值: 因为字典是无序的所以不能通过切片取值
#查询:
键 in info #在就返回True 不在就false
键 not in info #和 in 操作符相反
#获取列表的长度
v=len(info) #获取字典的长度
print(v)----- 4
#修改:直接重新赋值 #删除元素:del info[key]
#循环语句:
for item in info:
print(item)-----#默认只循环获取key
for item in info.keys():
print(item)----- #只循环获取key
for item in info.values():
print(item)----- #只循环获取值
for k,v in info.items():
print(item)----- #循环获取键值对
while 条件:
执行代码块
2.字典中的方法:
<1>.info.clear(): #清空列表
<2>.info.copy(): #拷贝(浅拷贝) @staticmethod()----- #静态方法 直接用dict.的方法
<3>dict.fromkeys(参数1,参数2)#创建字典。参数1为key 必须为可迭代对象 参数2为统一的value值。返回值为字典 <4>dict.get(参数1,参数2) #参数1为键,当键不存在时也不会报错 参数2,当键不存在时会返回参数2 存在的话忽略参数2
<5>dict.pop(key,参数2) #pop删除指定键值对,并获取对应的值,参数1必须为key,当参数1不存在时,就返回参数2,存在就忽略参数2 <6>dict.popitem() #无参数 随机删除一对键值对。并获取值,默认返回值类型为元组
k,v=dict.popitem() #k接收 key v接收 value <7>dict.setdefault(key,value) #设置值。如果已经存在,就不设置,只获取当前key对应的值,如果不存在,就设置,并获取当前设置的key对应的值 <8>dict.update(参数) #更新 参数可以是字典 参数还可以是(k1=123,k2=“lkd”)原字典存在的键值对进行覆盖,远字典不存在的进行添加
<9>dict.values() #无参数。返回 dict_values(['value1', 'value2', 'value3'])
<10>dict.keys() #无参数。返回 dict_keys(['key1', 'key2', 'key3'])
<11>dict.items() #无参数。返回 dict_items([('key1', 'value1'), ('key2', 'value2'), ('key3', 'value3')])
Python自学第二天学习之《元组与字典》的更多相关文章
- Python自学第二天学习之《列表》
一. 列表:list类型,是有序的,可以被修改的. 格式 : li=["cd",1,"gfds",[1,2,3]] 1.类型转换: #字符串转换成列表 b=“ ...
- Python自学第二天学习之《字符串与数字》
一.基本数据类型: 数字:int类型,不可变类型 格式 : a=10 1.其他类型转换成int型 : b=“123” c=int(b) #转换类型 print(c)----- 123 print(ty ...
- python学习Day6 元组、字典、集合set三类数据用法、深浅拷贝
一.深浅拷贝 1. 值拷贝 ls1 = ls2 不开辟空间,指针跟着走.(直接将ls1中存放的地址拿过来,内存中不会开辟新的空间,所以你怎么变,我也跟着变.)(ls1内部的所有类型的值发生改变,l ...
- Python之列表、字符串、元组和字典的基本用法
1 模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单 ...
- Python笔记——基本数据结构:列表、元组及字典
转载请注明出处:http://blog.csdn.net/wklken/archive/2011/04/10/6312888.aspx Python基本数据结构:列表,元组及字典 一.列表 一组有序项 ...
- Python 自学基础(一)——元组 字典 文件操作
格式化输出 name = input("请输入你的名字:") age = input("请输入你的年龄:") msg = ''' -------------in ...
- Python自学:第二章 Python之禅
>>print import <Python之禅>,提姆·彼得斯著 美胜于丑. 显式优于隐式. 简单胜于复杂. 复杂总比复杂好. 平的比嵌套的好. 稀疏胜于稠密. 可读性计数. ...
- Python自学:第二章 注释
#向大家问好 print("Hello Python People") 输出为 Hello Python People
- Python自学:第二章 删除空白
lstrip:剔除开头空白 strip:剔除两段空白 rstrip:剔除末尾空白 favorite: 最喜欢的 >>>favorite_language = "Python ...
随机推荐
- 应用程序不了找到mysql中的表,客户端可以正常打开表
原因是mysql中区分大小写的参数:lower-case-table-names=1 默认是区分大小写的,程序中代码可能是大小写混合的,其中访问数据库的sql是大小写混合的.所以找不到数据库中的表 ...
- eclipse把函数内容折叠的方法
eclipse 将方法折叠要先启动折叠功能启用方法:Ctrl+ / (小键盘) 或者:右键点击行号左边的空白,弹出的选项中,选择“Folding”下的“Enable Folding”这样启动foldi ...
- POJ-3436-ACM Computer Factory(最大流, 输出路径)
链接: https://vjudge.net/problem/POJ-3436#author=0 题意: 为了追求ACM比赛的公平性,所有用作ACM比赛的电脑性能是一样的,而ACM董事会专门有一条生产 ...
- 【leetcode】698. Partition to K Equal Sum Subsets
题目如下: 解题思路:本题是[leetcode]473. Matchsticks to Square的姊妹篇,唯一的区别是[leetcode]473. Matchsticks to Square指定了 ...
- Git整理[1] git cherry-pick的使用
简单地说 git cherry-pick为”挑拣”提交 ,挑取某次提交合并到其他分支上,而不用合并整个分支. 参数: git cherry-pick [<options>] <com ...
- 系统符号二——正则表达式及三剑客之grep
一基础正则表达式 (一)^ 匹配以什么开头的信息 [root@centos71 ~]# grep "^root" /etc/passwd root:x:0:0:root:/roo ...
- 51Nod 1277 字符串中的最大值 ( KMP && DP )
题意 : 一个字符串的前缀是指包含该字符第一个字母的连续子串,例如:abcd的所有前缀为a, ab, abc, abcd.给出一个字符串S,求其所有前缀中,字符长度与出现次数的乘积的最大值.例如:S ...
- 使用@Test报java.lang.NullPointerException at org.eclipse.jdt.internal.junit4.runner.SubForestFilter.shouldRun(SubForestFilter.java:81)异常
对公司的项目进行二次开发时,在调试过程中用到@Test注解,运行使发现控制台报空指针异常,如图: 参考网上相应资料后,删除项目中自带的Junit4.jar,然后使用eclipse开发工具自带的Juni ...
- Linux日志管理系统rsyslog
一.日志的概念 什么是日志?日志就是历史事件.历史事件包括时间.地点.人物.时间.这个是生活中所说的日志很好理解.在Linux中也有类似的服务,它主要作用就是记录Linux系统的历史事件,包括什么时间 ...
- NSDate 那点事
转载自:http://my.oschina.net/yongbin45/blog/150114 NSDate对象用来表示一个具体的时间点. NSDate是一个类簇,我们所使用的NSDate对象,都是N ...