来自python3学习笔记,有不正确的地方大家多多指教
一、列表
(一)、列表的简述
1.列表使用方括号[],列表的数据项不需要具有相同的类型
2.与字符串的索引一样,列表索引从0开始
(二)、列表的增/删/改/查
1.查询:motorcycles = ['honda','yamaha','suzuki']
- 访问列表元素时,需要写出该元素的位置,在Python中,元素的位置是从0开始算起的
- 当访问列表中最后一个元素时,可以将索引指定为-1,即表示最后一个元素
print(motorcycles[0])
2.增加:motorcycles = ['honda','yamaha','suzuki']
append()方法:在列表的末尾添加元素,也可以创建空的列表,使用append()添加元素
motorcycles.append("honda")
insert()方法:在列表的任何位置添加新元素,该方法需要制定新元素的索引和值
motorcycles.insert(0,'ducati')
3.修改:motorcycles = ['honda','yamaha','suzuki']
直接将需要修改的元素索引出来,直接进行修改
motorcycles[0] = 'ducati'
4.删除:motorcycles = ['honda','yamaha','suzuki']
motorcycles = ['honda','yamaha','suzuki','ducati']
a.使用del语句删除元素:要知道元素的位置
del motorcycles[0]
b.使用pop()方法删除元素:pop()方法可以删除列表中的最后一个元素,并且可以使用它删除列表中最后一个元素的值,并将删除的元素存放在变量poped_motorcycles中
poped_motorcycles = motorcycles.pop()
print(motorcycles)
c.弹出列表任何位置处的元素:pop()方法,在括号中加上元素的位置,就可以将该元素从列表中弹出
poped_motorcycles = motorcycles.pop(2)
d.一次删除列表中的所有元素:
del motorcycles[:]
e.根据值删除元素:若不知道元素的位置,可以使用remove()方法,直接通过元素的值删除了所有这样的值。
too_expensive = 'yamaha'
motorcycles.remove(too_expensive)
**注意:使用del语句和pop()方法的区别:如果要从列表中删除一个元素,且不再以任何方式使用它,就使用del语句;如果要在删除元素后还能继续使用,就是用pop()方法
注意:方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值**
(三)、列表的排序方式
1.永久排序:按照顺序排列
cars = ['bwm','audi','toyota','subaru']
# sort()函数:按照字母(a-z)顺序排列,对列表进行永久性排序
cars.sort
print(cars)
# sort(reverse=True)函数:按照字母(z-a)顺序排列,也是对列表进行永久性排序
cars.sort(reverse=True)
print(cars)
2.临时排序:按照顺序排列
cars = ['bwm','audi','toyota','subaru']
# sorted()函数:按照字母(a-z)顺序排列,对列表进行临时排序
print('Here is the sorted1 list:')
print(sorted(cars))
# sorted(severse=True)函数:按照字母(z-a)顺序排列,对列表进行临时排序,即向函数sorted()传递severse=True参数
print('Here is the sorted2 list:')
print(sorted(cars,reverse=True))
3.倒序
cars = ['bwm','audi','toyota','subaru']
# reverse()函数:将列表元素的排列顺序颠倒,永久性排序
cars.reverse()
print(cars)
# 恢复为原来的顺序,只需要再次对该列表使用revers()函数即可
cars.reverse()
print(cars)
4.确定列表长度
cars = ['bwm','audi','toyota','subaru']
# len()函数:列表的长度从1开始算
print(len(cars))
二、元组
(一)、元组的简述
1.元组使用小括号,元组的元素不能修改
2.元组中只包含一个元素时,需要在元素后面添加逗号
3.元组与字符串类似,下标索引从0开始
(二)、元组的删/改/查
1.查询
tup = (1, 2, 3, 4, 5, 6, 7 )
元组可以使用下标索引来访问元组中的值
print "tup[0]: ", tup[0] --表示检索下标为0的值
print "tup[1:5]: ", tup[1:5] --表示输出下标为1≤x<5的值
结果为:
tup[0]: 1
tup[1:5]: (2, 3, 4, 5)
2.修改元组:元组中的元素值是不允许修改的,但我们可以对元组进行连接组合
tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
# 以下修改元组元素操作是非法的。
# tup1[0] = 100
# 创建一个新的元组
tup3 = tup1 + tup2
print tup3
结果为:(12, 34.56, 'abc', 'xyz')
3.删除:元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
tup1 = (12, 34.56)
del tup1
三、字典
(一)、字典的简述
1.字典是另一种可变容器模型,且可存储任意类型对象;
2.字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
3.键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一;
4.值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组.
(二)、字典的删/改/遍历
1.修改:alien_0 = {'color':'green','points':5}
通过键来修改值
alien_0['color'] = 'yellow'
print("This alien's color is " + alien_0['color'])
2.删除:
用del删除,删除的键-值对会永远消失
del alien_0['point']
print(alien_0)
3.遍历字典
user_0 = {
'username':'efermi',
'first':'enrico',
'last':'fermi'
}
a.遍历所有键-值对
itmes():遍历时,在for语句后面包含字典名和items()方法,返回一个键-值对列表,for循环依次将每个键-值对存储在指定的两个变量中。
for key,value in user_0.items():
print('\\nkey:' + key)
print('value:' + value)
b.遍历字典中所有的键
key():不需要字典的值时,只遍历字典中的键,使用key()方法
for user in user_0.keys():
print(user.title())
c.按顺序遍历字典中的所有键
sorted():对方法dictionary.keys()的结果条用函数sorted(),对首字母进行排序
for user in sorted(user_0.keys()):
print(user.title() + ",thank you for taking the poll")
d.遍历字典中的所有值
values():只需要遍历字典中的值,使用values()方法,返回一个值列表
set():去掉字典中重复的值
for user in set(user_0.values()):
print(user.title())
注:无法添加相同的键
**注:在遍历字典时,键-值对的返回顺序与存储顺序不同,Python不关心键-值对的存储顺序,只跟踪键和值之间的关系。**
四、列表、元组、字典的区别

网友评论