PYTHON基础知识(DAY 2)

列表

标志

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

Python有6个序列的内置类型,但最常见的是列表和元组。

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型

基本操作

1)创建列表
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可

list1 = [‘Google’, ‘Runoob’, 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = [“a”, “b”, “c”, “d”];

2)更新列表
a. 对列表中某项进行修改更新
可通过切片/索引的方式对列表中的某项进行重新赋值,达到更新列表某项值的效果,如下例子,实现将现存列表中的1997修改为2001。

#!/usr/bin/python3
list = [‘Google’, ‘Runoob’, 1997, 2000]
print ("第三个元素为 : ", list[2])
list[2] = 2001
print ("更新后的第三个元素为 : ", list[2])

b.增加列表项
可通过append()的方式来增加列表项,如下例子,实现在现存列表中增加一项,值为2002

#!/usr/bin/python3
list = [‘Google’, ‘Runoob’, 1997, 2000]
print ("更新前的列表: ", list)
list.append(2001)
print ("更新后的列表: ", list)

3)删除列表项
a. pop()
pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。

list.pop([index=-1])
obj – 可选参数,要移除列表元素的索引值,不能超过列表总长度,默认为 index=-1,删除最后一个列表值。

注意使用pop后,会返回指定索引项的值,并将其从列表中删除。

#!/usr/bin/python3
#coding=utf-8
list1 = [‘Google’, ‘Runoob’, ‘Taobao’]
list_pop=list1.pop(1)
print “删除的项为 :”, list_pop
print "列表现在为 : ", list1

上述的输出为

删除的项为 : Runoob
列表现在为 : [‘Google’, ‘Taobao’]

b. del()
del直接删除列表中的指定项,无返回值。

#!/usr/bin/python3
list = [‘Google’, ‘Runoob’, 1997, 2000]
print ("原始列表 : ", list)
del list[2]
print ("删除第三个元素 : ", list)

c. remove()
remove() 函数用于移除列表中某个值的第一个匹配项。

remove()方法语法:

list.remove(obj)

注意:remove的参数是列表中具体的值,而非索引。且remove与pop不同,是没有返回值的。

#!/usr/bin/python
aList = [123, ‘xyz’, ‘zara’, ‘abc’, ‘xyz’];
aList.remove(‘xyz’);
print "List : ", aList;
aList.remove(‘abc’);
print "List : ", aList;

上述例子的回显为:

List : [123, ‘zara’, ‘abc’, ‘xyz’]
List : [123, ‘zara’, ‘xyz’]

4)列表拷贝
copy() 函数用于复制列表

以下实例展示了 copy()函数的使用方法:

#!/usr/bin/python3
list1 = [‘Google’, ‘Runoob’, ‘Taobao’, ‘Baidu’]
list2 = list1.copy()
print ("list2 列表: ", list2)

以上实例输出结果如下:

list2 列表: [‘Google’, ‘Runoob’, ‘Taobao’, ‘Baidu’]

注意:使用=直接赋值,是引用赋值,更改一个,另一个同样会变。copy() 则顾名思义,复制一个副本,原值和新复制的变量互不影响

列表相关方法

列表包含以下函数和方法:

序号 函数
1 len(list),列表元素个数
2 max(list),返回列表元素最大值
3 min(list),返回列表元素最小值
4 list(seq),将元组转换为列表
序号 方法
1 list.append(obj),在列表末尾添加新的对象
2 list.count(obj),统计某个元素在列表中出现的次数
3 list.extend(seq),在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4 list.index(obj),从列表中找出某个值第一个匹配项的索引位置
5 list.insert(index, obj),将对象插入列表
6 list.pop([index=-1]),移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7 list.remove(obj),移除列表中某个值的第一个匹配项
8 list.reverse(),反向列表中元素
9 list.sort( key=None, reverse=False),对原列表进行排序
10 list.clear(),清空列表
11 list.copy(),复制列表

元组

标志

Python 的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号,列表使用方括号。

基本操作

1)元组的创建
当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来,代码如下:

t = (1, 2)
t
(1, 2)

如果要定义一个空的tuple,可以写成(),代码如下:

t = ()
t
()

但是,要定义一个只有1个元素的tuple,代码如下:

t = (1)
t
1

定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。

所以,只有1个元素的tuple定义时必须加一个逗号 ,来消除歧义,代码如下:

t = (1,)
t
(1,)

2)元组的不可变性
tuple和list非常类似,但是tuple一旦初始化就不能修改。它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,你可以正常地使用classmates[0],classmates[-1],但不能赋值成另外的元素。不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。

注意:tuple元素不可变有一种特殊情况,当元素是可变对象时。对象内部属性是可以修改的!tuple的不可变限制只是在一个纬度上:元素的类型。实现理解,tuple的元素所保存的内容(数值或内存地址)是不允许修改的,但地址映射的对象自身是可以修改的。

string字符串

定义及基本操作

字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。

var1 = ‘Hello World!’
var2 = “Python Runoob”

1)字符串读取方式
Python不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。

Python访问子字符串,可以使用方括号来截取字符串,如下实例:

#!/usr/bin/python
var1 = ‘Hello World!’
var2 = “Python Runoob”
print "var1[0]: ", var1[0]
print "var2[1:5]: ", var2[1:5]

以上实例执行结果:

var1[0]: H
var2[1:5]: ytho

2)字符串的基本运算操作
下表实例变量 a 值为字符串 “Hello”,b 变量值为 “Python”:
在这里插入图片描述

字符串相关方法

在Python3中,所有的字符串都是Unicode字符串。
Python 的字符串常用内建函数如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

字符串格式化问题

Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。

在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。

#!/usr/bin/python3
print (“我叫 %s 今年 %d 岁!” % (‘小明’, 10))

以上实例输出结果:

我叫 小明 今年 10 岁!

python字符串格式化符号:
在这里插入图片描述
格式化操作符辅助指令:
在这里插入图片描述
可通过格式化操作符完成进制转换:

num=10
print(‘十六进制:%#x’ % num) #使用%x将十进制num格式化为十六进制
十六进制:0xa
print(‘二进制:’, bin(num)) #使用bin将十进制num格式化为二进制
二进制: 0b1010
print(‘八进制:%#o’ % num) #使用%o将十进制num格式化为八进制
八进制:0o12

上面使用格式化符号进行进制转换中,多加入了一个#号,目的是在转换结果头部显示当前进制类型,如不需要,可将#号去除,如下

print(‘八进制:%o’ % num)
八进制:12
print(‘十六进制:%x’ % num)
十六进制:a

猜你喜欢

转载自blog.csdn.net/m0_37803230/article/details/88019461
今日推荐