二、python数据类型详解
基本概念
迭代(iteration):如果给定一个list或tuple,我们可以通过for循环来遍历,这种遍历我们称为迭代(iteration)
可变:value改变,id不变,可变类型是不可hash类型
不可变:value改变,id就变,不可变类型是可hash类型
字符串
字符串是可迭代,不可变的
example_str='life is short you need python'
常用操作:index()、len()、切片、成员运算、strip()、split()、join()、循环遍历、replace()、count()、upper()、lower()、enumerate()、isdigit()、isalpha()

example_str='life|is|short you|need|python'
example_bank=' today is Monday '
example_other='***good morning***'
#index()/rindex():获取索引值(适用于可遍历对象如列表,字符串,元祖)
print(example_str.index('p'))
#len():求长度()
print(len(example_str))
#[::]:切片
print(example_str[::]) #取所有字符串
print(example_str[0:10:])#从左向右切,(默认步长为1)
print(example_str[0:10:1])#从左向右切,步长为1
print(example_str[0:10:2])#从左向右切,步长为2
print(example_str[::-1])#从右向左切,步长为1
print(example_str[-1:-8:-2])#从右向左切,步长为2
#in/not in:成员运算(适用于可迭代对象如列表,字符串,元祖)
life in example_str
live not in example_str
#strip()/lstrip()/rstrip():移除空白
print(example_bank.strip())#strip()默认移除字符串前后的空白
print(example_other.strip('*'))#移除字符串前后的*
#split():切分
example_split=example_str.split('|')#按'|'对字符串进行切分并存在列表里
print(example_split)
#join():连接
example_join=('*').join(example_split)#按'*'将字符串连接在一起,可迭代对象必须都是字符串
print(example_join)
#for str in example_str:循环遍历(适用于可迭代对象如列表、字符串和元祖)
for s in example_str:
print(s)
#replace():替换
print(example_str.replace('short','long'))#字符串替换,replace(para1,para2)中需指定两个参数
#count():计数
print(example_str.count('s'))#统计字符串中's'出现的个数
#upper:大写
print(example_str.upper())#将字符串中所有字符都变成大写
#lower:小写
print(example_str.lower())#将字符串中所有字符都变成小写
#enumerate():枚举(适用于可迭代对象如列表、字符串和元祖)
for index,s in enumerate(example_str): #同时获取索引和值
print(index,s)
#isdigit(): 可以判断bytes和unicode类型,检测字符串是否只由数字组成
age=input('Please input your age:')
print(type(age))

了解:format()、startswith()、endswith()、find()、center()、expandtabs()、capitalize()

列表
列表是可迭代,可变的
example_list=['Monday','Tuesday','Friday','Sunday']
常用操作:切片、长度、遍历、查找元素、添加元素、删除元素、排序

example_list=['Monday','Tuesday','Wednesday ','Thursday','Friday']
#[::]:切片
print(example_list[2:4])
#len():长度
print(len(example_list))
#遍历
for i in example_list:
print(i)
#查找元素
print('Monday' in example_list) #in /not in
print(example_list.index('Tuesday',0,4)) #index()
print(example_list.count('Tuesday')) #count()
#添加元素
example_append=['Saturday','Sunday'] #append()
example_list.append(example_append)
print(example_list)
example_extend=['Saturday','Sunday'] #extend():可以将另一个集合中的元素逐一添加到列表中
example_list.extend(example_extend)
print(example_list)
example_list.insert(1,'hello') #insert():可以在指定位置添加元素
print(example_list)
#删除元素
del example_list[0] #del():根据下标进行删除
print(example_list)
example_list.pop() #pop():删除最后一个元素
print(example_list)
example_list.remove('Tuesday') #remove():根据元素的值进行删除
print(example_list)
#排序
a=[1,4,3,2,5] #sort():按特定顺序重新排列,默认由小到大
a.sort()
print(a)
a.sort(reverse=True) #将list逆置
print(a)

元祖
元祖是可迭代,不可变的
example_tuple=('apple','peach','cherry','orange')
元祖和列表非常相似,但是元祖不可变,一旦初始化就不能进行修改

example_tuple=('apple','peach','cherry','pear','orange')
#index()/count()
print(example_tuple.index('apple'))
print(example_tuple.count('peach'))
#切片
print(example_tuple[0:4:2])
#长度
print(len(example_tuple))
#循环
for i in example_tuple:
print(i)
#成员运算
print('apple' in example_tuple)

字典
字典是可迭代,可变的
example_dict={'name':'luoli','age':18,'sex':'female'}
默认情况下,dict迭代的是key。如果要迭代value,可以用for value in d.values(),如果要同时迭代key 和value,可以用for k,v in d.items()

example_dic={'apple':18,'beach':20,'pear':30,'cherry':40,'orange':50}
#按key取值,可存可取
print(example_dic['apple'])
#遍历
for i,s in example_dic.items():
print(i,example_dic[i])
#成员运算
print('apple' in example_dic)
#添加元素
a={'x':2,'y':3}
a['z']=5 #在使用dic['key']=value时,这个'key'在字典中,如果不存在就会新增这个元素,如果'key'存在,新value就会覆盖原value
for i,s in a.items():
print(i,a[i])
a.setdefault('y',5) #key存在,则不赋值,key不存在,则在字典中新增key和value
for i,s in a.items():
print(i,a[i])
#删除元素
b={'m':12,'n':18}
del b['m'] #del()删除指定的元素
for i in b:
print(i)
b.clear() #清空整个字典
print(b)

集合
集合是可迭代,可变的
example_set={'a','b','c','d','e'}
集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,主要用于去重和关系运算

example_set1={'a','b','f'}
example_set2={'a','b','c','d','e'}
#长度
print(len(example_set1))
#成员运算
print('a' in example_set1)
print('d' not in example_set1)
#合集 |
print(example_set1|example_set2)
#交集 &
print(example_set1&example_set2)
#差集 -
print(example_set1-example_set2)
#对称差集
print(example_set1^example_set2)
#==
print(example_set1==example_set2)
#父集 > >=
print(example_set1>example_set2)
#子集 < <=
print(example_set1<example_set2)

练习
(1).test_list=[1,2,3,4,5,6,7,5,3,6,67,43,12,0,34,23]
a.去除列表中的重复元素
b.将去重后的列表进行由小到大排序

(2).部门员工管理
a.能够查询部门是否有该员工
b.能够增加员工名称
c.能够删除员工名称
d.能够修改员工名称

二、python数据类型详解的更多相关文章
- Python数据类型详解——列表
Python数据类型详解--列表 在"Python之基本数据类型概览"一节中,大概介绍了列表的基本用法,本节我们详细学一下列表. 如何定义列表:在[]内以英文里输入法的逗号,,按照 ...
- Python数据类型详解——字典
Python数据类型详解--字典 引子 已经学习了列表,现在有个需求--把公司每个员工的姓名.年龄.职务.工资存到列表里,你怎么存? staff_list = [ ["Kwan", ...
- python 数据类型详解
python数据类型详解 参考网址:http://www.cnblogs.com/linjiqin/p/3608541.html 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8 ...
- python数据类型详解(全面)
python数据类型详解 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8.字典9.日期 1.字符串1.1.如何在Python中使用字符串a.使用单引号(')用单引号括起来表示字 ...
- 转 python数据类型详解
python数据类型详解 目录 1.字符串 2.布尔类型 3.整数 4.浮点数 5.数字 6.列表 7.元组 8.字典 9.日期 1.字符串 1.1.如何在Python中使用字符串 a.使用单引号(' ...
- Python数据类型详解——元组
Python数据类型详解--元组 有时候我们的列表数据不想被别人修改时该怎么办? 此时,就可以使用元组来存放,元祖又称为只读列表,不能修改 定义方式:与列表类似,将列表的[]换成()即可. 特性: 1 ...
- redis详解(二)-- 数据类型详解
Redis常用数据类型详解 1,Redis最为常用的数据类型主要有以下: String Hash List Set Sorted set pub/sub Transactions 在具体描述这几种数据 ...
- MySQL(二) 数据库数据类型详解
序言 今天去健身了,感觉把身体练好还是不错的,闲话不多说,把这个数据库所遇到的数据类型今天统统在这里讲清楚了,以后在看到什么数据类型,咱度应该认识,对我来说,最不熟悉的应该就是时间类型这块了.但是通过 ...
- 1.python数据类型详解
python数据类型分类 1).数值型:整数型(int).浮点型(float).布尔型(bool 取值:True.False) 2).容器类型 : 字符串型(str).列表(list).元祖(tupl ...
随机推荐
- SuperPoint: Self-Supervised Interest Point Detection and Description 论文笔记
Introduction 这篇文章设计了一种自监督网络框架,能够同时提取特征点的位置以及描述子.相比于patch-based方法,本文提出的算法能够在原始图像提取到像素级精度的特征点的位置及其描述子. ...
- Vue 之 vue-cropper 组件实现头像裁剪功能
组件与api地址: npm地址地址:https://www.npmjs.com/package/vue-cropper/v/0.4.7 GitHub地址:https://github.com/xyxi ...
- plsql 存储过程 介绍。
/* 7-22 知识总结? 1. 存储过程 2.函数 3.包 */ /*1.什么是存储过程? 语法? 存储过程:类似于Java中的方法:完成一个特定的功能,一系列代码 (增删改操作和一些逻辑判断,se ...
- 如何美化 Matplotlib 3D坐标系
前言 ~mpl_toolkits.mplot3d 生成的3D坐标系背景色是灰色的,刻度线也向内延伸了,如果搭配上其他白色背景的 2D 图,看起来很奇怪,比如下面这张图: 网上有一些办法可以将3D坐标区 ...
- Python中列表操作函数append的浅拷贝问题
L=int(input())#L位数N=int(input())#N进制row=[]list1=[]for i in range(1,N): row.append(1)list1.append(row ...
- python编写购物车
上次的学习又没有坚持下来,工作忙的不可开交,但我反思了一下还是自己没有下定决心好好学习,所以这次为期3个月的学习计划开始了,下面是这次学习后重新编写的购物车初版代码. 1 # 功能要求: 2 # 要求 ...
- HuTool工具包操作csv文件
CsvUtil是CSV工具类,主要封装了两个方法: getReader 用于对CSV文件读取 getWriter 用于生成CSV文件 1.读取文件 读取为CsvRow CsvReader reader ...
- Xcode 插件推荐
1. Alcatraz(建议安装,以下插件都可以在Alcatraz下载安装) 使用Alcatraz来下载管理Xcode插件, 2.下载安装注释插件VVDocumenter-Xcode. 3.使用代码对 ...
- Ansible之playbook剧本
Ansible之playbook剧本 目录 Ansible之playbook剧本 1. playbook的组成 2. 剧本示例test1 2.1 剧本制作 2.2 准备http.conf 2.3 运行 ...
- Mac下Charles踩坑记录
初次使用Charles,摸索着抓包的过程中遇到了很多问题.在这里一一记录一下,避免其他初学者踩坑. 问题1:不显示request和response? 在Charles的配置页面可以勾选是否把reque ...