python基本数据类型的操作
1 列表和元组
1、列表基本操作
1. 列表赋值
a = [1,2,3,4,5,6,7,8]
a[0] = 100 #the result : [100, 2, 3, 4, 5, 6, 7, 8]
2. 元素删除
a = [1,2,3,4,5,6,7,8]
del a[0] #the result : [2, 3, 4, 5, 6, 7, 8]
3. 分片赋值
a = [1,2,3,4,5,6,7,8]
a[::2] # [1, 3, 5, 7]
a[-2:] # [7, 8]
a[1:1] = [0,0,0] # the result : [1, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8]
4. 使用 for i in range(10,-1,-1) 生成列表
for i in range(10,-1,-1): # 开始位置(10),结束位置(-1), 步长(-1)
print i, # 打印结果:10 9 8 7 6 5 4 3 2 1 0
# 从10开始,每次向后取一个值,直到遇到结束位置 -1
2、列表方法
1. append
作用:append用于在列表末尾追加新的对象
a = [1,2,3]
a.append(4) #the result : [1, 2, 3, 4]
2. count
作用:count方法统计某个元素在列表中出现的次数
a = ['aa','bb','cc','aa','aa']
print(a.count('aa')) #the result : 3
3. extend
作用:extend方法可以在列表的末尾一次性追加另一个序列中的多个值
a = [1,2,3]
b = [4,5,6]
a.extend(b) #the result :[1, 2, 3, 4, 5, 6]
4. index
作用:index函数用于从列表中找出某个值第一个匹配项的索引位置
a = [1,2,3,1]
print(a.index(1)) #the result : 0
5. insert
作用: insert方法用于将对象插入到列表中
a = [1,2,3]
a.insert(0,'aa') #the result : ['aa', 1, 2, 3]
6. pop
作用:pop方法会移除列表中的一个元素(默认是最后一个),并且返回该元素的值
a = [1,2,3]
a.pop() #the result : [1, 2]
a.pop(0)
7. remove
作用:remove方法用于移除列表中某个值的第一个匹配项
a = ['aa','bb','cc','aa']
a.remove('aa') #the result : ['bb', 'cc', 'aa']
8. reverse
作用:reverse方法将列表中的元素反向存放
a = ['a','b','c']
a.reverse() #the result : ['c', 'b', 'a']
9. sort
作用:sort方法用于在原位置对列表进行排序,意味着改变原来的列表,让其中的元素按一定顺序排列
a = ['a','b','c',1,2,3]
a.sort() #the result :[1, 2, 3, 'a', 'b', 'c']
10. enumrate
li = [11,22,33]
for k,v in enumerate(li, 1):
print(k,v)
11. range和xrange 指定范围,生成指定的数字
注:python3中的range类似python2中的xrange,比如a = range(1,4) : a返回的不是列表对象而是一个可迭代对象(<class 'range'>)
#1、range根据start与stop指定的范围以及step设定的步长,生成一个序列:range([start,] stop[, step])
#2、xrange 用法与 range 完全相同,所不同的是生成的不是一个list对象,而是一个生成器
for i in range(1,10,2):
print(i)
12. 列表去空
方法1:
filter(None, your_list) 方法2:
while '' in your_list:
your_list.remove('') 方法3:
your_list = [x for x in your_list if x != '']
3、元组
元组定义:元组和列表一样,也是一种序列,唯一的不同是元组不能修改。
1. 创建元组举例
#1. 创建元组
a = (1,2,3,4,5,6)
#2. 将列表转换成元组
tuple([1,2,3,4]) #the result : (1, 2, 3, 4)
4、列表和元组常用函数
com(x,y) 比较两个值
len(seq) 返回序列的长度
list(seq) 把序列转换成列表
max(args) 返回序列或者参数集合中得最大值
min(args) 返回序列或者参数集合中的最小值
reversed(seq) 对序列进行反向迭代
sorted(seq) 返回已经排列的包含seq 所有元素的列表
tuple(seq) 把序列转换成元组
2 字符串
1、字符串格式化
1. 使用百分号(%)字符串格式化
num = 100
print("%d to hex is %x" %(num, num)) #100 to hex is 64
print("%d to hex is %#x" %(num, num)) #100 to hex is 0x64
2. 使用format字符串格式化
#1. 位置参数
print("{0} is {1} years old".format("tom", 28)) #tom is 28 years old
print("{} is {} years old".format("tom", 28)) #tom is 28 years old
print("Hi, {0}! {0} is {1} years old".format("tom", 28)) #Hi, tom! tom is 28 years old #2. 关键字参数
print("{name} is {age} years old".format(name = "tom", age = 28)) #tom is 28 years old #3. 下标参数
li = ["tom", 28]
print("{0[0]} is {0[1]} years old".format(li)) #tom is 28 years old
2、字符串方法
1. find方法
作用:find方法可以在一个较长的字符串中查找子串,他返回子串所在位置的最左端索引,如果没有找到则返回-1
a = 'abcdefghijk'
print(a.find('abc')) #the result : 0
print(a.find('abc',10,100)) #the result : 11 指定查找的起始和结束查找位置
2. join方法
作用:join方法是非常重要的字符串方法,他是split方法的逆方法,用来连接序列中的元素,并且需要被连接的元素都必须是字符串。
a = ['1','2','3']
print('+'.join(a)) #the result : 1+2+3
3. split方法
作用:这是一个非常重要的字符串,它是join的逆方法,用来将字符串分割成序列
print('1+2+3+4'.split('+')) #the result : ['1', '2', '3', '4']
4. strip
作用:strip 方法返回去除首位空格(不包括内部)的字符串
print(" test test ".strip()) #the result :“test test”
5. replace
作用:replace方法返回某字符串所有匹配项均被替换之后得到字符串
print("This is a test".replace('is','is_test')) #the result : This_test is_test a test
6、首字母大写
>>> s = 'aBdkndfkFFD'
>>> s.capitalize()
'Abdkndfkffd'
7、Pinyin 模块,将汉字转换成拼音
from xpinyin import Pinyin while True:
p = Pinyin()
fullname = raw_input('name:').strip()
fullname = fullname.decode('utf8')
print fullname
xin = fullname[0]
ming = fullname[1:]
name = ming + '.' + xin
username = p.get_pinyin(name, '')
print username
print username + '@yiducloud.cn'
3 字典
1、字典基本使用
1、键类型:字典的键不一定为整形数据,键可以是任意的不可变类型,比如浮点型(实行),字符串或者元组。
2、自动添加:即使键起初在字典中不存在,也可以为他赋值,这样字典就会建立新的项。而(在不适用append方法或者其他类似操作的情况下)不能将值关联到列表之外的索引上。
phonebook = {'Tom':8777,'Jack':9999,'Fly':6666}
print("Tom's Phonenumber is %(Tom)s" % phonebook) #Tom's Phonenumber is 8777
2、字典常用方法
1. clear
作用:clear方法清除字典中所有的项,这是一个原地操作,所以无返回值(或则说返回None)
d = {}
d['Tom']=8777
d['Jack']=9999
print(d) #the result : {'Jack': 9999, 'Tom': 8777}
d.clear()
print(d) #the result : {}
2. copy
作用:copy方法返回一个具有相同 ”键-值” 对的新字典,而不是副本
d = {'Tom':8777,'Fly':6666}
a = d.copy()
a['Tom'] = '改变后的值'
print(d) #{'Fly': 6666, 'Tom': 8777}
print(a) #{'Fly': 6666, 'Tom': '改变后的值'}
3. fromkeys
作用:fromkeys方法使用给定的键建立新的字典,每个键都对应一个默认的值None。
首先建造一个空字典,然后调用它的fromkeys方法,建立另一个字典
print({}.fromkeys(['name','age'])) #the result : {'age': None, 'name': None}
4. get
作用:get方法是个更宽松的访问字典项的方法,如果试图访问字典中不存在的项时不会报错仅会 返回:None
d = {'Tom':8777,'Jack':8888,'Fly':6666}
print(d.get('Tom')) #the result : 8777
print(d.get('not_exist')) #the result : None
5. for循环字典的三种方法
d = {'Tom':8777,'Jack':8888,'Fly':6666}
for k,v in d.items():
print(k,v)
for k in d.values():
print(k)
for k in d.keys():
print(k)
6. pop
作用:pop方法用于获得对应与给定键的值,然后将这个”键-值”对从字典中移除
d = {'Tom':8777,'Jack':8888,'Fly':6666}
v = d.pop('Tom')
print(v) #8777
7. popitem
① popitem方法类似于list.pop,list.pop会弹出列表的最后一个元素,但是popitem仅仅会弹出随机的项,因为字典没有”最后的元素”或则其他有关顺序的概念
② 所以想一个接一个的移除并处理字典中的项,popitem是非常有效的(因为不用获取键的列表)
③ 尽管popitem和列表的pop方法很类似,但是字典中没有与append等价的方法,因为字典是无序的,类似于append得方法是没有任何意义的
d = {'Tom':8777,'Jack':8888,'Fly':6666}
d.popitem()
8. setdefault
作用:setdefault方法在某种程度上类似于get方法,能够获得与给定键相关联的值,除此之外,setdefault还能在字典中不含有给定键的情况下设定相应的键值
d = {'Tom':8777,'Jack':8888,'Fly':6666}
d.setdefault('Tom') #the result : 8777
print(d.setdefault('Test')) #the result : None
print(d) #{'Fly': 6666, 'Jack': 8888, 'Tom': 8777, 'Test': None}
9. update
作用:update方法可以利用一个字典项更新另一个字典,提供的字典中的项会被添加到旧的字典中,如有相同的键则会被覆盖
d = {'Tom':8777,'Jack':8888,'Fly':6666}
a = {'Tom':110,'Test':119}
d.update(a)
print(d) #the result :{'Fly': 6666, 'Test': 119, 'Jack': 8888, 'Tom': 110}
10. 将两个列表组合成字典
keys = ['a', 'b']
values = [1, 2] #1、zip生成字典
print(dict(zip(keys,values))) # {'a': 1, 'b': 2}
#2、for循环推倒字典
print({keys[i]: values[i] for i in range(len(keys))}) # {'a': 1, 'b': 2}
4 集合
1、集合作用
1. 去重
2.取两个列表的交集
3. 取两个列表的并集
list_1 = [1,2,3,4,5,1,2]
#1、去重(去除list_1中重复元素1,2)
list_1 = set(list_1) #去重: {1, 2, 3, 4, 5}
print(list_1)
list_2 = set([4,5,6,7,8]) #2、交集(在list_1和list_2中都有的元素4,5)
print(list_1.intersection(list_2)) #交集: {4, 5} #3、并集(在list_1和list_2中的元素全部打印出来,重复元素仅打印一次)
print(list_1.union(list_2)) #并集: {1, 2, 3, 4, 5, 6, 7, 8} #4、差集
print(list_1.difference(list_2)) #差集:在list_1中有在list_2中没有: {1, 2, 3}
print(list_2.difference(list_1)) #差集:在list_1中有在list_2中没有: {8, 6, 7} #5、子集
print(list_1.issubset(list_2)) #子集: False List_1中的元素是否全部在list2中
#6、父集
print(list_1.issuperset(list_2)) #父集: False List_1中是否包含list_2中的所有元素 #7、交集
print(list_1 & list_2) #交集 {4, 5} #8、union并集
print(list_1 | list_2) #并集: {1, 2, 3, 4, 5, 6, 7, 8} #9、difference差集
print(list_1 - list_2) #差集: {1, 2, 3} #10、在集合中添加一个元素999
list_1.add(999)
print(list_1) #Add()方法: {1, 2, 3, 4, 5, 999} #11、删除集合中任意一个元素不会打印删除的值
list_1.pop() #Pop()方法: 无返回值 #12、discard删除集合中的指定元素,如过没有则返回None
print(list_1.discard("ddd")) #Discard()方法: 删除指定的值,没有返回None
python基本数据类型的操作的更多相关文章
- python的数据类型及操作
简述python的几种简单的数据类型及使用方式 字符串 字符串是不可变数据类型,拥有多种内置方法可以操作. 创建字符串就是给变量分配一个字符串的值即可.通常用引号创建字符串. tell = 'my n ...
- Python常见数据类型及操作
基础数据类型 什么是数据类型? 我们人类可以很容易的分清数字与字符的区别,但计算机并不能,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’ ...
- 7.Python初窥门径(数据类型补充,操作及注意事项)
python(数据类型补充,转换及注意事项) 数据类型补充 str str.capitalize() 首字母大写 str.title() 每个单词首字母大写 str.count() 统计元素在str中 ...
- python基本数据类型之操作
python注释 当行注视:# 被注释内容多行注释:""" 被注释内容 """ 字符串操作 # 代表单行注释 ...
- Python 1 数据类型的操作
一.数字(Number) 1.数学函数: 函数 返回值 ( 描述 ) abs(x) 返回数字的绝对值,如abs(-10) 返回 10 ceil(x) 返回数字的上入整数,如math.ceil(4.1) ...
- python基本数据类型2——操作
字符串 name = "alex" # 移除两边的空格 print(name.strip()) #strip不修改值 # 是否以"al"开头 print(nam ...
- python基本数据类型与操作
一.变量 1.变量的三要素:变量名.变量值.变量数据类型 2.定义变量格式:变量名称 = 变量值 3.输出变量:print(变量名) """ 变量 "" ...
- 第二章:Python基础の快速认识基本数据类型和操作实战
本课主题 字符串和操作实战 二进制操作实战 List 列表和操作实战 Tuple 元組和操作实战 Dict 字典和操作实战 作業需求 引言 这遍文章简单介绍了 Python 字符串和集合的方法和应用, ...
- python学习笔记:文件操作和集合(转)
转自:http://www.nnzhp.cn/article/16/ 这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句 ...
随机推荐
- 02-信贷路由项目rose框架拆分dubbo
项目架构和 rose 框架搭建见 https://www.cnblogs.com/yuanpeng-java/p/9835984.html 1.dubbo 框架架构及组成 2.注册中心安装及配置 h ...
- Computing Essentials_第一章习题
- 吴裕雄--天生自然PYTHON学习笔记:解决ElementNotInteractableException: Message: element not interactable
submit=self.wait.until(EC.element_to_be_clickable((By.ID,'loginAction'))) 2.永久覆盖element来保证自己的element ...
- MySQL5.7安装教程(RPM)
博主本人平和谦逊,热爱学习,读者阅读过程中发现错误的地方,请帮忙指出,感激不尽 前言: 对应服务器信息: 192.168.247.53 一.MySQL安装(RPM) 1.系统环境设置: 1.1清空系统 ...
- 一次完整的HTTP请求响应过程(很详细)
一. HTTP请求和响应步骤 图片来自:理解Http请求与响应 以上完整表示了HTTP请求和响应的7个步骤,下面从TCP/IP协议模型的角度来理解HTTP请求和响应如何传递的. 二.TCP/IP协 ...
- JQueryUI Chosen插件
github地址:https://harvesthq.github.io/chosen/#change-update-events Using Chosen is easy as can be. Do ...
- t-检验
https://wenku.baidu.com/view/3954f9d9a58da0116c17497b.html介绍的挺好的,可以查看~ 应用方面:用于推断差异发生的概率,与f检验,卡方检验并列 ...
- python django 模板语言循环字典
urls.py from django.conf.urls import url from django.contrib import admin from cmdb import views url ...
- Python---12函数式编程------12.3匿名函数&装饰器&偏函数
一.匿名函数 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便. 在Python中,对匿名函数提供了有限支持.还是以map()函数为例,计算f(x)=x2时,除了定义一个f( ...
- 从wordpress换hexo博客后
之前用wordpress做blog, 为什么换为hexo呢? 第一 wordpress的文章都保存在服务器的数据库, 维护不是很直观. 而hexo是自己编写markdown文章,本地一份,而b ...