Python之列表,元组,字符串(4)
来源:互联网 发布:网络机柜出厂检验报告 编辑:程序博客网 时间:2024/06/18 07:56
转载一个看的比较好的帖子来介绍python的数据类型
列表,字符串,字典
下面写的内容为以上转载文章中没有的补充内容。
列表
- 列表都可以存放一些什么东西?
Python的列表就是一个大仓库,Ta可以存放我们学过的任何一种数据类型。
mix = [1,'小仙女',3.14,[1,2,3]]
- append()和extend()的区别?
append()方法是将参数作为一个元素增加到列表的末尾。
extend()方法是将参数作为一个列表去扩展列表的末尾。
>>> name = ['F', 'i', 's', 'h']>>> name.append('C')>>> name['F', 'i', 's', 'h', 'C']>>> name.extend(['.', 'c'])>>> name['F', 'i', 's', 'h', 'C', '.', 'c']>>> name.append(['o', 'm'])>>> name['F', 'i', 's', 'h', 'C', '.', 'c', ['o', 'm']]
- 再介绍一个删除列表元素的,除了remove(), del 也可以删除元素,他不是一个函数方法。
del name[1] 1为要删除的元素位置
列表分片(slice)
一次获取列表的多个元素。
>>> list1 = [1, 3, 2, 9, 7, 8]>>> list1[2:5][2,9,7]
list1[0]和list1[0:1]的区别?
list1[0]返回的是第0个元素的值, list1[0:1]返回的是只含有第0个元素的列表!我们可以利用分片完成列表的拷贝 list2 = list1[:],那事实上可不可以写成list2 = list1更加简洁呢?
不可以!!!
举个例子会明白些
>>> list1 = [1, 3, 2, 9, 7, 8]>>> list2 = list1[:]>>> list2[1, 3, 2, 9, 7, 8]>>> list3 = list1>>> list3[1, 3, 2, 9, 7, 8]
看上去貌似一样?我们现在做一下修改,看看
>>> list1.sort()>>> list1[1, 2, 3, 7, 8, 9]
此时list1已经做了修改,下面看看list2 和 list3 有什么变化
>>> list2[1, 3, 2, 9, 7, 8]>>> list3[1, 2, 3, 7, 8, 9]
在介绍两个内置方法:copy() 和 clear()
copy的方法和使用切片拷贝是一样的。
>>> list2 = list1.copy()>>> list2[1, [1, 2, ['小甲鱼']], 3, 5, 8, 13, 18]
clear 用于清空列表的元素,注意,清空完后列表还在哦,只是变成了一个空列表。
>>> list2.clear()>>> list2[]
列表推导式,列表解析(list comprehensions)
看表达式
>>> [ i*i for i in range(10) ]
会打印什么内容呢
>>> [i*i for i in range(10)][0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
居然分别打印了0到9各个数的平方,然后还放在列表里面了有木有!
Ta是一个非常灵活的工具,可用来动态的创建列表~
语法: [和A有关的表达式 for A in B] 例如:
>>> list1 = [x**2 for x in range(10)]>>> list1[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
相当于
list1 = []for x in range(10): list1.append(x**2)
元组
- 列表: 一个大仓库,你可以随时往里添加和删除任何东西。
元组:封闭的列表,一旦定义就不可改变。不可添加删除或修改。
在列表的许多内置方法中,只有两个元组可以使用。分别是 count() and index().
在创建元组时,逗号是必不可少的,可以没有小括号。在什么情况下逗号和小括号都要存在,缺一不可呢?
在拼接只有一个元素的元组的时候。
>>> temp = (‘小仙女’, ‘黑夜’, ‘迷途’, ‘小布丁’)# 如果我想在“黑夜”和“迷途”之间插入“怡静”,我们应该:>>> temp = temp[:2] + (‘怡静’,) + temp[2:]
字符串
字符串的内置方法
先转载一个小甲鱼网站上的字符串的方法及注释~
字符串的方法及注释
字符串和元组一样封闭,也是一旦定义了不能随意的改变其中的元素。我们用字符串的内置方法实际上是生成了一个新的字符串,原来的字符串不会变!!!!!
关于字符串的几个易错小问题~~
file = open(’C:\windows\temp\readme.txt’, ‘r’)表示已只读方式打开 ‘C:\windows\temp\readme.txt’ 这个文本文件,但事实上这个语句会报错,知道为什么嘛?
solution: 会报错是因为在字符串中,我们约定 ‘\t’ and ‘\r’ 表示Tab 和 回车符,因此并不会按照我们计划的路径去打开文件。Python给了我们解决的办法,用原始字符串,在前面加一个’r’就可以啦~
>>> file1 = open(r'C:\windows\temp\readme.txt', 'r')
字符串的格式化
像上面一样,转载一个字符串格式化符号。
字符串格式化符号
- 使用格式化format方法时它有两个参数,一个是位置参数,
>>> "{0} love {1}.{2}".format("I", "FishC", "com")'I love FishC.com'
- 在格式化输出结果的时候,和C语言用逗号 ‘,’ 不同的是,Python 用 ‘%’符号。举个例子
'%c %c %c' % (97,98,99)'a b c'前面字符串内的括号照常打印出来,后面要格式化输出的内容必须要用小括号括起来,并且用逗号隔开!!
另一个是关键字参数
>>> "{a} love {b}.{c}".format(a="I", b="FishC", c="com")'I love FishC.com'
出两个小问题:
1.猜猜下面会打印什么呢?
>>> "{{1}}".format("不打印", "打印")solution:'{1}'
解释:这个就好比 Python 中的转义字符一样 print('//')
,就会打印出 ‘/’. 这个就是用花括号来转义花括号。花括号既然已经被解释了,它不在代表位置参数 ‘0’ 了。
- 想要显示Pi=3.14,format前面应该怎么写呢?
>>> '{}{}'.format('Pi = ', 3.1415)solution:'{0}{1:.2f}'.format('Pi = ', 3.1415)'Pi = 3.14'
下面举一个简单的编程例子。
- 编写一个进制转换程序。二进制用bin()这个内置函数。
Q = Truewhile Q: num = input('请输入一个整数(输入Q结束程序):') if num != 'Q': num = int(num) print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num)) print('十进制 -> 八进制 : %d -> 0o%o' % (num, num)) print('十进制 -> 二进制 : %d -> ' % num, bin(num)) else: Q = False
序列!!!对列表,元组,字符串的总结及对比!!
列表、元组和字符串的共同点:
- 都可以通过索引得到每一个元素.
- 默认索引值总是从0开始.
- 可以通过分片的方法得到一个范围内的元素的集合.
有很多共同的操作符(重复操作符(*)、拼接操作符(+)、成员关系操作符(in or not in)).
迭代的概念:所谓迭代,是重复反馈过程的活动,其目的通常是为了接近或到达所需的目标或结果。每一次对过程的重复称为一次‘迭代’,而每一次迭代得到的结果会被当成下一次迭代的初始值。
举两个内置方法:
enumerate(): 必须要在前面加上list,否则返回的是迭代器对象,使用reversed()也是如此。
a = [1,3,5,7,32,5,6,7]print(list(enumerate(a)))-[(0, 1), (1, 3), (2, 5), (3, 7), (4, 32), (5, 5), (6, 6), (7, 7)]它的作用是将列表里的每个元素添加了index,并且以元组的形式呈现。
zip:
a = [1,3,5,7,32,5,6,7]b = [4,2,5,7,8]print(list(zip(a,b)))-[(1, 4), (3, 2), (5, 5), (7, 7), (32, 8)]zip的作用是将两个列表对应项组成一个元组,多余的忽略。
- Python之列表,元组,字符串(4)
- python---字符串、列表、元组
- python字符串,元组,列表
- Python数据类型——序列(列表、元组、字符串)
- Python序列:字符串、列表和元组(一)
- Python入门笔记2 序列(字符串、元组、列表)
- Python序列:字符串、列表和元组(二)
- Python序列:字符串、列表和元组(三)
- Python序列:字符串,列表和元组(一)
- python(一):字符串、列表、元组和字典
- python学习(基础补充)--字符串、列表、元组
- python列表、元组、字典、字符串操作
- python序列:字符串,元组和列表
- python 学习笔记:字符串,列表,元组
- Python序列:字符串、列表和元组
- python 序列:字符串、列表和元组
- Python序列:字符串、元组、列表
- Python 列表、元组、字典、字符串
- 程序员不适合创业
- web静态服务器-非阻塞模式
- 死磕红皮书(基本概念)
- js 的闭包和构造函数
- 自定义支持圆角的TextView
- Python之列表,元组,字符串(4)
- 2017 CCPC 秦皇岛 & ZOJ 3987
- Java Base64编码使用介绍
- Android网络加载图片
- Capstone训练营第十天
- kindeditor文本编辑器配置和使用方法
- Java中8种基本数据类型及其默认值
- python基础第三天
- python练习1:素数