<![WU2FPKD652%R6I]I4CI_J.jpg](https://upload-images.jianshu.io/upload_images/14827778-540cbb19a0bd5a45.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)>
列表的相关方法
列表.count(元素): 获取某个元素在列表中出现的次数
nums=[1,2,3,4,5,6,7,4,3,]
nums.count(3)
print(nums) # 2
列表1 .extend(序列):将序列中的元素添加到列表1种
nums=[1,2,3,4,5,6,7,8,9,0,9,8,6,5]
nums.extend('asdasasd')
nums.extend(['sadasdasdas','asdasdasd'])
nums.extend(range(11,15))
列表.index(元素)--获取指定元素下标
注意: 如果元素有多个,只去第一个下标
如果指定下标对应的元素不存在会爆错 valueerror(值的错误)
nums=[1,2,3,4,5,6,7,8]
nums.index(8) # -1 或者 7
列表.reverse()--反向列表 倒叙列表
nums=[1,2,3,4,5,6,7,8]
nums.reverse()
print(nums)#[8,7,6,5,4,3,2,1]
5
列表.sort()---对列表升序排序 (从小到大)
列表.sort(reverse=True)--对列表降序排序(从大到小)
!!!元素类型必须一样,支持比较运算
nums=[45,78,86,97,56,43,41,43,42,45]
nums.sort()
print(nums)#[41, 42, 43, 43, 45, 45, 56, 78, 86, 97]
nums.sort(reverse)
print(nums)#[97, 86, 78, 56, 45, 45, 43, 43, 42, 41]
6。
列表.clear()---清空列表
清空列表尽量用clear
str1=['qweweqwe','qweqweqweq','asdadsa','fasfas','asfasfsa','asdasda']
str1.clear()
print(str1)
列表.copy()----将列表中的元素复制一份产生一个新的列表,和:一样
注意这儿的拷贝是前拷贝
num1=[12,34,56,78,90]
num2=num1.copy()
print(num2)
了解过程
import copy
copy.copy(对象) - 浅拷贝 (直接拷贝元素的值产生一个新的地址)
copy.deepcopy(对象) - 深拷贝(不会直接复制地址,而是将地址对应的值拷贝一份产生新的地址)
numbers1 = [1, 2, 3]
numbers2 = [10, 20, 30]
list1 = [numbers1, numbers2]
print('1.浅拷贝:')
list2 = list1.copy()
print('修改前list1:', list1)
print('修改前list2:', list2)
print('针对list1进行修改')
list1.append(111)
list1[0].append(100)
print('修改后list1:', list1)
print('修改后list2:', list2)
numbers1 = [1, 2, 3]
numbers2 = [10, 20, 30]
list1 = [numbers1, numbers2]
print('2.深拷贝')
list2 = copy.deepcopy(list1)
print('修改前list1:', list1)
print('修改前list2:', list2)
print('针对list1进行修改')
list1.append(111)
list1[0].append(100)
print('修改后list1:', list1)
print('修改后list2:', list2)
元祖
什么是元祖(tuple)
元祖就是不可变的列表。(有序,不可变)
有序 - 可以通过下标获取元素
不可变 - 不支持增、删、改
元祖的字面量: 通过小括号将多个元素括起来,多个元素之间用逗号隔开
tuple1 = (1, True, 'abc', [1, 2], 1)
print(tuple1)#(1, True, 'abc', [1, 2], 1)
只有一个元素的元祖: 在元素的后面必须加一个逗号
tuple=(12,)
直接将多个数据用逗号隔开,不用括号括起来。还是一个元祖值
tuple1=12,34,'asdfghj','佳佳'
获取元祖元素
tuple1=(12,34,56,'as)
print(tuple1[2],tuple1[-2])#56 56
可以通过变量个数和元祖元素个数保持一致来获取元祖中的每个元素
tuple1=(10,30,50,70,90)
a,b,c,d,e=tuple1# 10,30,50,70,90
通过在变量名前加,获取没有的变量获取到的元素的剩下的部分。以列表的形式返回
tuple1='听党指挥' , 10 , 20, 30, 40, 50
verb,*num=tuple
print(verb,num)#听党指挥 [10, 20, 30, 40, 50]
verb,num ,*nums=tuple1
print(verb)#听党指挥
print(num)#10
print(nums)#[20,30,40,50]
verb,*num,nums=tuple5
print(verb)#听党指挥
print(num)#[10,20,30,40]
print(nums)#50
获取元祖的元素,和列表获取元素一模一样
tuple1=(10,20,30,40,50,60,70)
print(tuple1[2])#30
print(tuple1[:4])#(10,20,30,40)
for num in tuple1:
print(tuple1)
相关运算和列表一样
+, *, in/not in, len(), tuple(), max(), min()
print((1, 2) + ('a', 'n')) #(1,2,'a','n')
print((1, 2) * 3) #(1,2,1,2,1,2)
print(1 in (1, 2)) #True
print(len((1, 2, 4)))#3
print(max((1, 89, 0)))#89
print(min((1, 89, 0)))#0
元祖相关的方法: 只有列表中的count和index
tuple1=(1,2,4,3,6,5,7,8,5,4,2,1,1,1)
print(tuple1.count(1)) #4次
tuple1=(1,2,3,4,5,6)
tuple1.index(5) #获取五在tuple1里面的下标
字典
什么是字典(dict)
字典是python中内置的容器类的数据类型,可变,无序的。字典的元素是键值对
字典的字面量:使用大括号括起来,大括号中是键值对,多个键值对之间用逗号隔开
键值对- 键:值
键(key) - 不可变的;唯一的 (一般使用字符串作为key)
值(value) - 任何类型的数据
列表和字典不能作为key
1.查(获取字典的值)
a.获取单个值
字典[key] - 获取字典中key对应的值 (注意:如果key不存在,会报错:KeyError)
字典.get(key) - 获取字典中key对应的值 (如果key不存在,不会报错,并且会返回一个默认值None)
dog1 = {'name': '旺财', 'age': 3, 'color': '黄色', 'type': '土狗'}
dog1'[name'] #旺财
dog1['age'] #3
dog1.get['name'] #旺财
dog1.get['color'] # 黄色
dog1.get['sex'] #none
b.遍历
直接遍历字典拿到的是字典中所有的key
dog1 = {'name': '旺财', 'age': 3, 'color': '黄色', 'type': '土狗'}
for index in dog1:
print(index) #'name' 'age' 'color' 'type'
for key in dog1:
print(key,dog1[key])
结果:
name 旺财
age 3
color 黄色
type 土狗
2.增(添加键值对)
字典[key] = 值 - 当key不存的时候,就是在字典中添加键值对
dict1 = {'a': 100}
dict1['b']=200
print(dict1)#{'a':100,'b':200}
字典1.update(序列) - 将序列中的元素转换成键值对,然后再添加到字典1中
注意:在这儿的序列要求是能够转换成字典的序列。序列中的元素是只有两个元素的小序列
注意: 当key值有重名的时候,会用序列中键值对对应的值,更新原字典的key对应的值
dict1 = {'a': 100, 'b': 200}
dict1.update({'aa': 10, 'bb': 20, 'a': 'abc'})
结果是:
{'a':'abc' , 'b':200 , 'aa':10 , 'bb':20}
dict1 = {'a': 100, 'b': 200}
dict1.update([[1, 2], ['a', 2], [2, 'b']])
结果是:
{'a':100 , 'b':200 , 1:2 , 2:'b'}
3.改(修改key对应的值)
字典[key] = 值 - 当key存在的时候,就是修改key对应的值
dict1 = {'a': 10, 'b': 20}
dict1['a']=12
print(dict1) #{'a':12 , 'b':20}
4.删(删除键值对)
a. del 字典[key] - 删除字典中key对应的键值对
person = {'name': '张三', 'age': 30, 'sex': '男'}
del person['sex']
print(person) #{'name': '张三', 'age': 30}
b.字典.pop(key) - 取出字典中key对应的值(删除整个键值对)
person = {'name': '张三', 'age': 30, 'sex': '男'}
person.pop('name')
print(person)#{'age':30 , 'sex':'男'}
key in 字典 - 判断字典中是否存在指定的key
person = {'name': '张三', 'age': 30, 'sex': '男'}
print('name' in person)#True