1、Python中的列表和元组有什么区别?
(1)、list 与 tuple 都是序列类型的容器对象,可以存放任何类型的数据、支持切片、迭代等操作
(2)、列表是可变的,而元组是不可变的,这标志着两者之间的关键差异。
(3)、语法差异
元组使用小括号list = ['physics', 'chemistry', 1997, 2000],
列表使用方括号list = ('physics', 'chemistry', 1997, 2000)。
使用方括号[]创建列表,而使用括号()创建元组。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。如
(4)、重用与拷贝
元组无法复制。 原因是元组是不可变的。 如果运行tuple(tuple_name)将返回自己。
(5)、大小差异
Python将低开销的较大的块分配给元组,因为它们是不可变的。 对于列表则分配小内存块。 与列表相比,元组的内存更小。 当你拥有大量元素时,元组比列表快。列表的长度是可变的。
(6)、同构与异构
习惯上元组多用于用于存储异构元素,异构元素即不同数据类型的元素,比如(ip,port)。 另一方面,列表用于存储异构元素,这些元素属于相同类型的元素,比如[int1,in2,in3]。
2、列表的增删改查
增加:list.append('hello') list.insert(1,'hello')
修改:list[0] = 'word'
删除:del list[0] 要删除末尾元素用pop():list.pop() 要删除指定位置的元素用pop(1):list.pop(1)
查询:用索引来访问list中每一个位置的元素,记得索引是从0开始的 str = list[0]
3、列表的相关函数
len(list) #统计列表的个数
list.sort() # 排序
list.reverse() #翻转
list.extend(-1,-2) #扩展
list.remove(10) # 移除
list.pop() # 弹出最后一个元素
4、字符串
单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符
在Python中,采用的格式化方式和C语言是一致的,用%实现,举例如下:
占位符替换内容
%d整数 %f浮点数 %s字符串 %x十六进制整数
另一种格式化字符串的方法是使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}……,不过这种方式写起来比%要麻烦得多:
>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明',17.125)'Hello, 小明, 成绩提升了 17.1%'