列表:[ ]中用逗号隔开的不必相同类型的元素组合list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
- 索引:正数0是起始位置,负数-1是起始位置
print( list[0] ) # 输出结果:red
print( list[-1] ) # 输出结果:black
- 截取:支持负数截取(负数索引值是从-1开始)
# 从第二位开始(包含)截取到倒数第一位(不包含)
list[1: -1] # 输出结果:['green', 'blue', 'yellow', 'white']
- 排序 sort()排序默认是正序(sort(reverse=False)),sort(reverse=True)是倒序,reverse()是列表倒置
listNumSort = [10, 4, 90, 16, 25, 36, 49, 6, 81, 100]
listNumSort.reverse()
print('反向输出列表listNumSort:', listNumSort)
#输出结果:反向排序列表listNumSort: [100, 81, 6, 49, 36, 25, 16, 90, 4, 10]
listNumSort.sort(reverse=True)
print('重新排序列表listNumSort:', listNumSort)
# 输出结果:重新排序列表listNumSort: [100, 90, 81, 49, 36, 25, 16, 10, 6, 4]
random = [(2, 2), (3, 4), (4, 1), (1, 3)]
random.sort()
print('重新排序二维列表元组random:', random)
# 输出结果:重新排序二维列表元组random: [(1, 3), (2, 2), (3, 4), (4, 1)]
def takeSecond(elem):
return elem[1] # 获取列表的第二个元素
random.sort(key=takeSecond)
print('重新排序二维列表元组random的第二个元素:', random)
# 输出结果:重新排序二维列表元组random的第二个元素: [(4, 1), (2, 2), (1, 3), (3, 4)]
- list.append(obj) 在列表末尾添加新的对象,记住是“对象”
- list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
- list.pop([index=-1]) pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
- list.remove(obj) remove() 函数用于移除列表中某个值的第一个匹配项
- list(seq) 元组转集合
元组:Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号 ( ),列表使用方括号 [ ]。
tup1 = (50)
print(type(tup1)) # 不加逗号,类型为整型 输出结果:<class 'int'>
- tuple(iterable) 将可迭代系列转换为元组。
tuple1 = tuple(list)
tuple1
print('列表转换成元组list:', tuple1)
# 输出结果:列表转换成元组list: ('red', 'green', 'blue', 'yellow', 'black')
字典:字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:d = {key1 : value1, key2 : value2, key3 : value3 }
-
字典键的特性
1、不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
2、键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行 - 增,删,改,查
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
del dict['Name'] # 删除键 'Name'
dict['Age'] = 8 # 修改 Age
dict['School'] = "新手班" # 添加信息
print ("dict['Age']: ", dict['Age']) # 访问
print ("dict['School']: ", dict['School'])
# 输出结果:
# dict['Age']: 8
# dict['School']: 新手班
-
字典中 copy()和= 的区别
copy :深拷贝父对象,浅拷贝(二级)子对象(如列表,字典,集合)
= :浅拷贝,引用对象
dict1 = {'user':'runoob','num':[1,2,3]}
dict2 = dict1 # 浅拷贝: 引用对象
dict3 = dict1.copy() # 浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用
# 修改 data 数据
dict1['user']='root'
dict1['num'].remove(1)
# 输出结果
print(dict1) # {'user': 'root', 'num': [2, 3]}
print(dict2) # {'user': 'root', 'num': [2, 3]}
print(dict3) # {'user': 'runoob', 'num': [2, 3]}
集合: 集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。创建格式:
parame = {value01,value02,...}
或者
set(value)
或者
set((value,value1....values))
# 下面展示两个集合间的运算.
...
a = set('abracadabra')
b = set('alacazam')
print(a)
# 集合a中包含的元素 输出结果:{'d', 'r', 'a', 'b', 'c'}
print(a - b)
# 集合a中包含而集合b中不包含的元素 输出结果:{'d', 'b', 'r'}
print(a | b)
# 集合a或b中包含的所有元素 输出结果:{'z', 'd', 'l', 'r', 'a', 'b', 'c', 'm'}
print(a & b)
# 集合a和b中都包含了的元素 输出结果:{'a', 'c'}
print(a ^ b)
# 不同时包含于a和b的元素 输出结果:{'r', 'b', 'd', 'z', 'l', 'm'}
a = {x for x in 'abracadabra' if x not in 'abc'}
或者
a = {x for x in a if x not in 'abc'}
print(a)
# 查找字符串 'abracadabra'/集合a 中不包括'abc'的值 输出结果:{'d', 'r'}
thisset = set((1, 2, 3))
thisset.add("Facebook")
print(thisset)
# 向集合中添加值 输出结果:{1, 2, 3, 'Facebook'}
网友评论