一、列表
1、访问列表中的值
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[0] ) # 'red'
print( list[1] )
print( list[2] )
print( list[-1] ) #black
print( list[-2] ) #white
print( list[-3] ) #yellow
nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print(nums[0:4]) #[10, 20, 30, 40]
list = ['Google', 'Runoob', "Zhihu", "Taobao", "Wiki"]
# 读取第二位
print ("list[1]: ", list[1])
# 从第二位开始(包含)截取到倒数第二位(不包含)
print ("list[1:-2]: ", list[1:-2])
print(list[1:]) #输出从第二个元素开始后的所有元素
print(list[:-2]) #输出倒数第二个前的所有
print(list(:3))
2、更新列表
list = ['Google', 'Runoob', 1997, 2000]
print ("第三个元素为 : ", list[2])
list[2] = 2001
print ("更新后的第三个元素为 : ", list[2])
list1 = ['Google', 'Runoob', 'Taobao']
list1.append('Baidu')
print ("更新后的列表 : ", list1)
2、删除列表元素
list = ['Google', 'Runoob', 1997, 2000]
print ("原始列表 : ", list)
del list[2]
print ("删除第三个元素 : ", list)
3、列表操作符
nums=[2,2,3,4,5,3,6,77,4433,33]
print(len(nums))
print(nums+[2,3,4,5])
print(["hi"]*4)
print(2 in nums)
for i in nums:
print(i)
4、嵌套列表
a = ['a', 'b', 'c']
n = [1, 2, 3]
x = [a, n]
print(x) #[['a', 'b', 'c'], [1, 2, 3]]
print(x[0]) #['a', 'b', 'c']
print(x[0][1]) #'b'
5、常用方法
nums=[2,33,24,57,6,33,7,55,98,68,45]
print(len(nums))
print(max(nums))
print(min(nums))
aTuple = (123, 'Google', 'Runoob', 'Taobao')
print(list(aTuple)) #元组转列表
print(nums.count(2)) #2出现的次数
print(nums.index(33)) #33第一次匹配的索引位置
i=nums.pop() #移除列表中的一个元素(默认是-1),并且返回该元素的值
j=nums.pop(1) #删除索引为1的
nums.remove(33) #移除列表中某个值的第一个匹配项
nums.reverse() #列表反向
nums.sort() #排序,默认False升序,设置True降序
nums.clear() #清空列表
nums2=nums.copy() #复制
二、元组
1、元组访问
Python 的元组与列表类似,不同之处在于元组的元素不能修改、不能删除。
tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d" # 不需要括号也可以
print(type(tup3)) #<class 'tuple'>
tup1 = (50)
print(type(tup1)) # 不加逗号,类型为整型 <class 'int'>
tup1 = (50,)
print(type(tup1)) # 加上逗号,类型为元组 <class 'tuple'>
tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])
2、操作符
和列表一样
3、方法
tuple1 = ('Google', 'Runoob', 'Taobao')
len(tuple1)
tuple2 = ('5', '4', '8')
max(tuple2)
min(tuple2)
list1= ['Google', 'Taobao', 'Runoob', 'Baidu']
tuple1=tuple(list1) #将可迭代系列转换为元组
三、字典
1、创建字典
字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(**,**)
分割,整个字典包括在花括号 {} 中 ,格式如下所示:
d = {key1 : value1, key2 : value2, key3 : value3 }
# 使用大括号 {} 来创建空字典
emptyDict = {}
# 打印字典
print(emptyDict) #{}
# 查看字典的数量
print("Length:", len(emptyDict)) #Length: 0
# 查看类型
print(type(emptyDict)) #<class 'dict'>
使用内建函数 dict() 创建字典:
emptyDict = dict()
# 打印字典
print(emptyDict)
# 查看字典的数量
print("Length:",len(emptyDict))
# 查看类型
print(type(emptyDict))
2、访问字典的值
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print ("tinydict['Name']: ", tinydict['Name'])
print ("tinydict['Age']: ", tinydict['Age'])
3、修改字典
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
tinydict['Age'] = 8 # 更新 Age
tinydict['School'] = "橙软" # 添加信息
print ("tinydict['Age']: ", tinydict['Age'])
print ("tinydict['School']: ", tinydict['School'])
4、删除字典
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
del tinydict['Name'] # 删除键 'Name'
tinydict.clear() # 清空字典
del tinydict # 删除字典
print ("tinydict['Age']: ", tinydict['Age'])
print ("tinydict['School']: ", tinydict['School'])
5、字典特性
不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
tinydict = {'Name': 'Runoob', 'Age': 7, 'Name': '小菜鸟'}
print ("tinydict['Name']: ", tinydict['Name'])
键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行
Python3 的六个标准数据类型中:
● 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
● 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
6、方法
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print(len(tinydict)) #计算字典元素个数,即键的总数
print(str(tinydict)) # "{'Name': 'Runoob', 'Age': 7, 'Class': 'First'}"
print(type(tinydict)) #<class 'dict'>
tinydict.clear() #删除字典内所有元素
dict2=tinydict.copy() #返回一个字典的浅复制
seq = ('name', 'age', 'sex')
tinydict = dict.fromkeys(seq)
print("新的字典为 : %s" % str(tinydict)) #新的字典为 : {'age': None, 'name': None, 'sex': None}
tinydict = dict.fromkeys(seq, 10)
print("新的字典为 : %s" % str(tinydict)) #新的字典为 : {'age': 10, 'name': 10, 'sex': 10}
tinydict = {'Name': 'Runoob', 'Age': 27}
print ("Age : ", tinydict.get('Age'))
# 没有设置 Sex,也没有设置默认的值,输出 None
print ("Sex : ", tinydict.get('Sex'))
# 没有设置 Salary,输出默认的值 0.0
print ('Salary: ', tinydict.get('Salary', 0.0)) #如果指定键的值不存在时,返回该默认值0.0
# get(key) 方法在 key(键)不在字典中时,可以返回默认值 None 或者设置的默认值。
# dict[key] 在 key(键)不在字典中时,会触发 KeyError 异常。
if name in tinydict:
print("aa")
d = {'Name': 'Runoob', 'Age': 7}
for i,j in d.items():
print(i, ":\t", j)
print(tinydict.keys())
print(tinydict.values())
tinydict = {'Name': 'Runoob', 'Age': 7}
tinydict2 = {'Sex': 'female'}
tinydict.update(tinydict2)
print("更新字典 tinydict : ", tinydict)
site= {'name': '橙软', 'alexa': 10000, 'url': 'www.csoftedu.net'}
element = site.pop('name') #删除字典给定键 key 所对应的值,返回值为被删除的值
print('删除的元素为:', element)
print('字典为:', site)
四、集合
1、创建集合
集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
parame = {value01,value02,...}
或者
set(value)
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
print(basket)# {'orange', 'banana', 'pear', 'apple'}
a = set('abracadabra')
print(a) #{'a', 'r', 'b', 'c', 'd'}
2、添加元素
thisset = set(("Google", "Runoob", "Taobao"))
thisset.add("Facebook")
print(thisset) #{'Taobao', 'Facebook', 'Google', 'Runoob'}
thisset = set(("Google", "Runoob", "Taobao"))
thisset.update({1,3}) #参数可以是列表,元组,字典等
print(thisset)#{1, 3, 'Google', 'Taobao', 'Runoob'}
thisset.update([1,4],[5,6])
print(thisset) #{1, 3, 4, 5, 6, 'Google', 'Taobao', 'Runoob'}
3、移除元素
thisset = set(("Google", "Runoob", "Taobao"))
thisset.remove("Taobao") #如果元素不存在,则会发生错误
print(thisset)#{'Google', 'Runoob'}
thisset = set(("Google", "Runoob", "Taobao"))
thisset.discard("Facebook") # 移除不存在的元素时不会发生错误,remove会发生错误
print(thisset)#{'Taobao', 'Google', 'Runoob'}
thisset = set(("Google", "Runoob", "Taobao", "Facebook"))
x = thisset.pop() #set 集合的 pop 方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除
print(x)
4、计算集合元素个数
thisset = set(("Google", "Runoob", "Taobao"))
len(thisset)
5、清空集合
thisset = set(("Google", "Runoob", "Taobao"))
thisset.clear()
print(thisset)
6、判断元素是否在集合中存在
thisset = set(("Google", "Runoob", "Taobao"))
"Runoob" in thisset