Datawhale_pythonlearning_task2

Task2(2day)

1. 列表

1)标志

列表的标志符号是[]

 

2)基本操作(创建,append(),pop(),del(),拷贝)

创建:menber=[a,b,c,1,2,3,"哈哈”]

append() 将参数作为一个元素增加到列表的末尾

Datawhale_pythonlearning_task2

 

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

sentence=['All', 'good', 'things', 'come', 'to' ,'those', 'who', 'wait.']

默认删除最后一个列表值sentence.pop()

删除最后一个列表值:",sentence.pop(-1)

Datawhale_pythonlearning_task2

删除第一个元素sentence.pop(0)

Datawhale_pythonlearning_task2

删除第三个元素  sentence.pop(2)

Datawhale_pythonlearning_task2

 

Python 字典 pop() 方法删除字典给定键 key 及对应的值,返回值为被删除的值。key 值必须给出。 否则,返回 default 值。

pop(key[,default])

  • key: 要删除的键值
  • default: 如果没有 key,返回 default 值

site= {'name': '菜鸟教程', 'alexa': 10000, 'url': 'www.runoob.com'}

pop_obj=site.pop('name')

Datawhale_pythonlearning_task2

 

del():删除指定值

del用于list列表及字典操作,删除一个或者连续几个元素也可以删除字典指定的key

a = [-1, 3, 'aa', 85] # 定义一个list

  del a[0] # 删除第1个元素

Datawhale_pythonlearning_task2

member=["a","b","c",1,2,3,"哈哈"]
 del member[2:4] # 删除从第3个元素开始,到第5个为止的元素。包括头不包括尾

Datawhale_pythonlearning_task2

 

 copy() 函数返回一个字典的浅复制。

详见:https://www.runoob.com/python3/python3-att-dictionary-copy.html

直接赋值和 copy 的区别

dict1 = {'user':'runoob','num':[1,2,3]}

dict2 = dict1 # 浅拷贝: 引用对象

dict3 = dict1.copy() # 浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用

# 修改 data 数据

dict1['user']='root'

dict1['num'].remove(1)

Datawhale_pythonlearning_task2

 

3)列表相关方法

2.元组

详见:https://www.runoob.com/python/python-tuples.html

1)标志

()

 

 

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

 

 

2)基本操作(创建及不可变性)

元组创建只需要在括号中添加元素,并使用逗号隔开即可。

tup1 = ('physics', 'chemistry', 1997, 2000)

tup2 = (1, 2, 3, 4, 5 )

tup3 = "a", "b", "c", "d"

创建空元组

tup1 = ()

元组中只包含一个元素时,需要在元素后面添加逗号

tup1 = (50,)

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

 

 

3.string字符串

1)定义及基本操作(+,*,读取方式)

 

Python 表达式 结果 描述
len((1, 2, 3)) 3 计算元素个数
(1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) 连接
('Hi!',) * 4 ('Hi!', 'Hi!', 'Hi!', 'Hi!') 复制

2)字符串相关方法

元组索引,截取

因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素,如下所示:

元组:

L = ('spam', 'Spam', 'SPAM!')
Python 表达式 结果 描述
L[2] 'SPAM!' 读取第三个元素
L[-2] 'Spam' 反向读取,读取倒数第二个元素
L[1:] ('Spam', 'SPAM!') 截取元素

4.字符串格式化问题

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。相对于老版的%格式方法,它有很多优点。

 

a.在%方法中%s只能替代字符串类型,而在format中不需要理会数据类型;

 

b.单个参数可以多次输出,参数顺序可以不相同;

 

c.填充方式十分灵活,对齐方式十分强大;

(1)按照默认顺序,不指定位置

 

print("{} {}".format("hello","world") )

 

Datawhale_pythonlearning_task2

 

(2)(设置指定位置,可以多次使用

 

print("{0} {1} {0}".format("hello","or"))

Datawhale_pythonlearning_task2

 

 

(3)使用列表格式化

 

person = {"name":"opcai","age":20}

 

print("My name is {name} . I am {age} years old .".format(**person))

Datawhale_pythonlearning_task2

 

 

(4)通过列表格式化

 

stu = ["opcai","linux","MySQL","Python"]

 

print("My name is {0[0]} , I love {0[1]} !".format(stu))

Datawhale_pythonlearning_task2

 

d.官方推荐用的方式,%方式将会在后面的版本被淘汰。