python列表,字典,元组

python变量赋值
	常量 不变化的量,比如数字,字符串都是
	变量 存储常量,通常由变量名指出
	赋值 就是将一个常量指向一个变量
	name = 'while'
	python是一门弱变量的语言,所用变量即用即生成,变量的类型随着值的类型的修改而修改
命名可用的内容
	字母
	数字
	下划线
		1、数字不可以开头,也不可以纯数字
		2、__开头代表私有
		3、__name__代表魔术方法
		4、关键字不可以用于命名
		>>>import keyword
		>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 
'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 
'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 
'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
		5、命名要有意义,禁止无意义的命名,比如,a,a1,bb
	常见的命名
		名词
			name = 1
		动宾结构
			get page = 1
			getPage = 1
			GetPage = 1
		变量赋值的三种方式
			传统赋值
				name = 'while'
			链式赋值
				name = user = 'while'
			序列解包赋值
				name,age = 'while',10

			>>> name = 'while'
			>>> name
			'while'
			>>> name = user = 'while'
			>>> name,user
			('while', 'while')
			>>> name,age = 'shuai',18
			>>> name,age
			('shuai', 18)
			>>> hello		变量不存在
			Traceback (most recent call last):
			  File "<pyshell#14>", line 1, in <module>
			    hello
			NameError: name 'hello' is not defined
			>>> name,age = 'shuai',18,00		变量和常量不对应
			Traceback (most recent call last):
			  File "<pyshell#15>", line 1, in <module>
			    name,age = 'shuai',18,00
			ValueError: too many values to unpack (expected 2)

python列表
	列表是一个元素以逗号分割,以中括号包围的,有序的,可修改的序列
		python2
			1、list
			2、[]
			3、range
			4、xrange
		python3
			1、list
					>>> list('abced')
					['a', 'b', 'c', 'e', 'd']
					>>> str(['a','b','c','d'])
					"['a', 'b', 'c', 'd']"
					>>> ''.join(['a','b','c'])
					'abc'
			2、[]
					>>> ['a',1,[1,'a']]
					['a', 1, [1, 'a']]
			3、range
					>>> range(100)
					range(0, 100)
					>>> list(range(100))
					[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 
					16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 
					30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 
					44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 
					58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 
					72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 
					86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
					>>> print(range(100))
					range(0, 100)	
列表的索引
	列表的索引和字符串的索引类似,但不完全相同,因为列表可以修改,所以我们可以通过列表
	的索引来修改列表
	一样的部分
		>>> mylist = [1,2,3,45,6]
		>>> mylist
		[1, 2, 3, 45, 6]
		>>> mylist1 = list('123456')
		>>> mylist1
		['1', '2', '3', '4', '5', '6']
		>>> mylist[1]
		2
		>>> mylist[-1]
		6
		>>> mylist[:]
		[1, 2, 3, 45, 6]
		>>> mylist1[::2]
		['1', '3', '5']
		>>> mylist1[5:1:-1]
		['6', '5', '4', '3']
		>>> mylist1[1] = 's'
		>>> mylist1
		['1', 's', '3', '4', '5', '6']
	超出索引范围
		>>> mylist1[100]
		Traceback (most recent call last):
		  File "<pyshell#38>", line 1, in <module>
		    mylist1[100]
		IndexError: list index out of range

	列表的方法
		
		列表的添加	
			append	追加,在列表的尾部加入指定的元素
			extend	将指定序列的元素依次追加到列表的尾部
			insert	将指定的元素插入到对应的索引位上,注意负索引
		列表的删除	
			pop	弹出,返回并删除指定索引位上的数据,默认-1
			remove	从左往右删除一个指定的元素
			del	删除是python内置功能,不是列表独有的
		列表的查找
		注 列表没有find方法	
			count	计数,返回要计数的元素在列表当中的个数
			index	
			查找,从左往右返回查找到的第一个指定元素的索引,如果没有找到,报错
		列表的排序	
			reverse	索引顺序倒序
			sort	按照ascii码表顺序进行排序

		append 		列表末尾添加
			>>> mylist = list('1a23456')
			>>> mylist
			['1', 'a', '2', '3', '4', '5', '6']
			>>> mylist.append('a')
			>>> mylist
			['1', 'a', '2', '3', '4', '5', '6', 'a']
			>>> mylist.append([123])
			>>> mylist
			['1', 'a', '2', '3', '4', '5', '6', 'a', [123]]
			>>> mylist.append('[123]')
			>>> mylist
			['1', 'a', '2', '3', '4', '5', '6', 'a', [123], '[123]']

		extend		将序列直接添加到末尾
			>>> mylist = list('123456')
			>>> mylist
			['1', '2', '3', '4', '5', '6']
			>>> mylist.extend('123')
			>>> mylist
			['1', '2', '3', '4', '5', '6', '1', '2', '3']

			insert 		将元素直接添加到指定位置
			>>> mylist.insert('a',0)	注意顺序
			Traceback (most recent call last):
			  File "<pyshell#51>", line 1, in <module>
			    mylist.insert('a',0)
			TypeError: 'str' object cannot be interpreted as an integer
			>>> mylist.insert(0,'a')

		pop  默认弹出最后一个位置,可以指定弹出的元素
			>>> mylist
			['a', '1', '2', '3', '4', '5', '6', '1', '2', '3']
			>>> mylist.pop()
			'3'
			>>> mylist
			['a', '1', '2', '3', '4', '5', '6', '1', '2']
			>>> mylist.pop()
			'2'
			>>> mylist
			['a', '1', '2', '3', '4', '5', '6', '1']
			>>> list(mylist)
			['a', '1', '2', '3', '4', '5', '6', '1']
			>>> mylist.pop(0)	弹出指定位置的元素
			'a'

		remove	从左往右删除指定的元素,一次删除一个
			>>> mylist
			['1', '2', '3', '4', '5', '6', '1']
			>>> mylist.remove(1)
			Traceback (most recent call last):
			  File "<pyshell#63>", line 1, in <module>
			    mylist.remove(1)
			ValueError: list.remove(x): x not in list
			>>> mylist.remove('1')
			>>> mylist
			['2', '3', '4', '5', '6', '1']

		del 	删除指定位置的元素
			>>> del mylist[1]
			>>> mylist
			['2', '4', '5', '6', '1']
			>>> del mylist[0]
			>>> mylist
			['4', '5', '6', '1']
			>>> del mylist('1')
			SyntaxError: can't delete function call
			>>> del mylist
			>>> mylist
			Traceback (most recent call last):
			  File "<pyshell#72>", line 1, in <module>
			    mylist
			NameError: name 'mylist' is not defined
		
		count	寻找指定元素的个数  #注意list方法和[]这个的区别
		 一个是字符串一个是数字 使用函数的方法也不一样
			>>> mylist = list('12345')
			>>> mylist
			['1', '2', '3', '4', '5']
			>>> mylist.count(0)
			0
			>>> mylist.count(1)
			0
			>>> mylist.count(2)
			0
			>>> mylist = list('1234566')
			>>> mylist
			['1', '2', '3', '4', '5', '6', '6']
			>>> mylist.count(6)
			0
			>>> mylist.count('6')
			2
			>>> mylist = [1,2,3,4]
			>>> mylist.count(1)
			1
			>>> mylist
			[1, 2, 3, 4]
		
		index 	从左往右寻找指定元素的索引,第一个元素
			>>> mylist
			[1, 2, 3, 4]
			>>> mylist.index(1)
			0
			>>> mylist.index(2)
			1
			>>> mylist.index(3)
			2
			>>> mylist = list('1234')
			>>> mylist.index('1')
			0
			>>> mylist.index(1)
			Traceback (most recent call last):
			  File "<pyshell#93>", line 1, in <module>
			    mylist.index(1)
			ValueError: 1 is not in list
		
		reverse 	按照索引顺序进行倒序
			>>> mylist
			['1', '2', '3', '4']
			>>> mylist.reverse()
			>>> mylist
			['4', '3', '2', '1']
			>>> mylist = list('dadgasgreaghfdah')
			>>> mylist
			['d', 'a', 'd', 'g', 'a', 's', 'g', 'r', 'e', 'a', 'g', 'h', 'f', 
			'd', 'a', 'h']
			>>> mylist.reverse()
			>>> mylist
			['h', 'a', 'd', 'f', 'h', 'g', 'a', 'e', 'r', 'g', 's', 'a', 'g', 
			'd', 'a', 'd']

		sort	直接按照ascii码排序,不能数字和字符一起排序
			>>> mylist
			['h', 'a', 'd', 'f', 'h', 'g', 'a', 'e', 'r', 'g', 's', 'a', 'g', 'd', 'a', 'd']
			>>> mylist.sort()		 
			>>> mylist
			['a', 'a', 'a', 'a', 'd', 'd', 'd', 'e', 'f', 'g', 'g', 'g', 'h', 'h', 'r', 's']
			>>> mylist = [1,2,3,4]
			>>> mylist.sort()
			>>> mylist
			[1, 2, 3, 4]
			>>> mylist = [1,'a',2,3]
			>>> mylist
			[1, 'a', 2, 3]
			>>> mylist.sort()
			Traceback (most recent call last):
			  File "<pyshell#109>", line 1, in <module>
			    mylist.sort()
			TypeError: '<' not supported between instances of 'str' and 'int'
			>>> mylist = [1,2,3,'1']
			>>> mylist.sort()
			Traceback (most recent call last):
			  File "<pyshell#111>", line 1, in <module>
			    mylist.sort()
			TypeError: '<' not supported between instances of 'str' and 'int'
python元组
	元组是元素以逗号分割,以小括号包围的有序的,不可修改的序列
	tuple()
	构建元组的方法
		
		>>> mytuple = tuple('12345')
		>>> mytuple
		('1', '2', '3', '4', '5')
		
		>>> ('a',1,3)
		('a', 1, 3)
	元组的索引和字符串是一样的
		>>> mytuple
		('1', '2', '3', '4', '5')
		>>> mytuple.count('1')
		1
		>>> mytuple.count(2)
		0
		>>> mytuple.count('2')
		1
		>>> mytuple.count('1')
		1
		>>> mytuple.count('3')
		1
		>>> mytuple[::-1]
		('5', '4', '3', '2', '1')
		>>> mytuple[-1]
		'5'
		>>> mytuple
		('1', '2', '3', '4', '5')
		>>> mytuple[1]
		'2'
		>>> mytuple[0:3]
		('1', '2', '3')
		>>> mytuple[5:0:-1]
		('5', '4', '3', '2')
		>>> mytuple[5::-1]
		('5', '4', '3', '2', '1')
	元组的特性
		元组可以不加括号
			>>> 1,2
			(1, 2)
		单元素元组需要加逗号
			>>> type([1])
			<class 'list'>
			>>> type((1))
			<class 'int'>
			>>> type((21,))
			<class 'tuple'>
		元组不可修改,所以我们再配置文件中多看到元组
			Django 配置的一部分
			DATABASE = (
			Os.path.join(BASEDIR," TEMPLATE"),
			)
	元组的方法
		元组的查找
			index 	从左往右指定元素的索引,遇见的第一个元素
			count	寻找元组中的指定的元素的个数
				>>> mytuple
				('1', '2', '3', '4', '5')
				>>> mytuple.index('1')
				0
				>>> mytuple.index('5')
				4
				>>> mytuple.count('1')
				1
				>>> mytuple.count('5')
				1
元组和字符串的区别
	1、元组和字符串都是有序的,不可修改的序列
	2、元组的元素可以是任何类型,字符串的元素只能是字符
	3、元组的元素长度可以任意,字符串的元素长度只能为 1
验证元组和字符串的长度
	>>> a
	'abc'
	>>> mytuple
	'shuai'
	>>> len(a[0])
	1
	>>> len(mytuple[0])
	1
	>>> mytuple = ('shuai',1)
	>>> mytuple
	('shuai', 1)
	>>> len(mytuple[0])
	5
元组的创建方法
	>>> a
	'shuai'
	>>> mytuple = ('shuai',a)
	>>> mytuple
	('shuai', 'shuai')
	
	>>> mytuple = ('shuai',1)
	>>> mytuple
	('shuai', 1)
	>>> len(mytuple[0])
	5
	
	>>> mytuple = ('shuai',a)	a = 'shuai'
	>>> mytuple
	('shuai', 'shuai')
	>>> len(mytuple[0])
	5
	
	>>> mytuple = ('shuai',b)	引入字符串必须放在引号里
	Traceback (most recent call last):
	  File "<pyshell#196>", line 1, in <module>
	    mytuple = ('shuai',b)
	NameError: name 'b' is not defined
	>>> mytuple = ('shuai','b')
	>>> mytuple
	('shuai', 'b')
	
	>>> mytuple = ('shuai',1) 数字可以放在外面
	>>> mytuple
	('shuai', 1)
	
	>>> mytuple = ('shuai',)
	>>> mytuple
	('shuai',)
	>>> len(mytuple[0])
	5
	
	>>> mytuple = ('shuai,shuai')  与这个区分,这是字符串的创建方法

python字典
	字典一个元素呈键值对的形式,以逗号分割,以大括号包围的无序的,可以修改的序列。
	字典是python基础数据类型当中唯一一个映射关系的数据类型,通常对应JSON{}
		字典创建方法
			>>> mydict = {'a':1,"b":2}
			>>> mydict
			{'a': 1, 'b': 2}
		fromkeys	这种方法只能给所有的键都赋一样的值
			>>> mydict = {}.fromkeys('abcd')
			>>> mydict
			{'a': None, 'b': None, 'c': None, 'd': None}
			>>> mydict = {}.fromkeys('abcd','shuai')
			>>> mydict
			{'a': 'shuai', 'b': 'shuai', 'c': 'shuai', 'd': 'shuai'}
	
	dict
		zip 
		函数:将几个序列对应索引位上的元素分到一个元组中,总的形成一个列表,子元组的
		个数取决于提供的序列的最小长度
	python2 与python3的区别
		python2 直接返回对象
		python3 返回对象的内存地址,需要用列表进行转换
		补充:python3中减少了内存的占用,优化了性能但是速度更慢了

			>>> myzip = zip('abcd','1234')
			>>> myzip
			<zip object at 0x00000223D8276BC8>		python3中的内存地址
			>>> list(myzip)							
										元素啄一对应,长度取决于最小的序列的长度
			[('a', '1'), ('b', '2'), ('c', '3'), ('d', '4')]
			>>> myzip = zip('abcd','123456','shuai','1234')
			>>> myzip
			<zip object at 0x00000223D828A388>
			>>> list(myzip)
			[('a', '1', 's', '1'), ('b', '2', 'h', '2'), ('c', '3', 'u', 
			'3'), ('d', '4', 'a', '4')]
			
			>>> dict([('a',1),('b',2)])
			{'a': 1, 'b': 2}
			>>> dict(zip('abcdefg','1234567'))
			{'a': '1', 'b': '2', 'c': '3', 'd': '4', 'e': '5', 'f': '6', 'g': '7'}
			>>> mydict = zip('abcd','1234')
			>>> mydict
			<zip object at 0x00000223D828AE08>
			>>> list(mydict)
			[('a', '1'), ('b', '2'), ('c', '3'), ('d', '4')]
			>>> mydict = dict(mydict)
			>>> mydict
			{}
			
			>>> mydict = zip('abcd','1234')
			>>> mydict = dict(mydict)
			>>> mydict
			{'a': '1', 'b': '2', 'c': '3', 'd': '4'}
			>>> mydict = zip('abcd','1234')
			>>> mydict
			<zip object at 0x0000018304BCF2C8>
	
			>>> list(mydict)
			[('a', '1'), ('b', '2'), ('c', '3'), ('d', '4')]
			>>> dict(mydict)
			{}
			>>> mydict = zip('abcd','1234')
			>>> dict(mydict)
			{'a': '1', 'b': '2', 'c': '3', 'd': '4'}
		mydict = zip('')	创建的是列表
		dict(zip())		列表转为字典
		dict([()])		元组-->列表-->字典

		字典的特点:
			因为字典是无序的,所以字典没有索引值
			因为字典没有索引值,所以字典以键取值,(字典的键相当于列表的索引)
				>>> myzip = dict(zip('abcd','1234'))
				>>> myzip
				{'a': '1', 'b': '2', 'c': '3', 'd': '4'}
				>>> myzip['a']
				'1'
		因为字典以键取值,所以字典的键唯一且不可修改。
		因为字典的键不可修改,所以列表和字典不可以给字典做键。
				>>> myzip = {'a':1,1:'a',(1,2):'c'}
				>>> myzip
				{'a': 1, 1: 'a', (1, 2): 'c'}
				>>> myzip = {'a':1,1:'a',(1,2):'c',{'a':1}:1}
				Traceback (most recent call last):
				  File "<pyshell#48>", line 1, in <module>
				    myzip = {'a':1,1:'a',(1,2):'c',{'a':1}:1}
				TypeError: unhashable type: 'dict'
			字典和列表不可以作为字典的键
	字典的方法:
		字典的取值:
			keys		获取字典所有的键
			values		获取字典所有的值
			get 		以键取值,如果指定键不存在,默认返回None可以指定返回内容
			update		更新指定键的内容,如果键不存在就直接创建
			setdefault	设置默认,如果键存在,返回值,如果键不存在,创造键,值默认
						为None,值也可以自定义
			items		返回字典键值呈元组形式的格式
		字典的删除
			pop			弹出,返回并删除指定键对应的值
			popitem		随机弹出一个键值元组,这里随机的原因是因为字典无序
			clear		清空字典
				字典的取值
					>>> mydict = dict(zip('abc','123'))
					>>> mydict
					{'a': '1', 'b': '2', 'c': '3'}
				keys
					>>> mydict.keys()
					dict_keys(['a', 'b', 'c'])
				values
					>>> mydict.values()
					dict_values(['1', '2', '3'])
					>>> list(mydict.keys())
					['a', 'b', 'c']
					>>> list(mydict.values())
					['1', '2', '3']
					>>> mydict.get('a')
					'1'
					>>> mydict['a']
					'1'
					>>> mydict.get('x')
					>>> mydict['x']
					Traceback (most recent call last):
					  File "<pyshell#74>", line 1, in <module>
					    mydict['x']
					KeyError: 'x'

				>>> mydict.update(dict(zip('a',1)))
				Traceback (most recent call last):
				  File "<pyshell#75>", line 1, in <module>
				    mydict.update(dict(zip('a',1)))
				TypeError: zip argument #2 must support iteration
				>>> mydict.update({'a',1})
				Traceback (most recent call last):
				  File "<pyshell#76>", line 1, in <module>
				    mydict.update({'a',1})
				TypeError: cannot convert dictionary update sequence element #0 to a sequence
					>>> mydict
					{'a': '1', 'b': '2', 'c': '3'}
					>>> mydict.update({'a':1})
					>>> mydict
					{'a': 1, 'b': '2', 'c': '3'}
					>>> mydict.update({'a':2})
					>>> mydict
					{'a': 2, 'b': '2', 'c': '3'}
					>>> mydict+{'y':1}
					Traceback (most recent call last):
					  File "<pyshell#83>", line 1, in <module>
					    mydict+{'y':1}
					TypeError: unsupported operand type(s) for +: 'dict' and 'dict'
					>>> mydict.update({'x':55})
					>>> mydict
					{'a': 2, 'b': '2', 'c': '3', 'x': 55}

					>>> mydict.setdefault('x')
					55
					>>> mydict.setdefault('y')
					>>> mydict
					{'a': 2, 'b': '2', 'c': '3', 'x': 55, 'y': None}
					>>> mydict.setdefault('y',88)
					>>> mydict
					{'a': 2, 'b': '2', 'c': '3', 'x': 55, 'y': None}
					>>> mydict.setdefault('h',99)
					99
					>>> mydict
					{'a': 2, 'b': '2', 'c': '3', 'x': 55, 'y': None, 'h': 99}
					>>> mydict.items()
					dict_items([('a', 2), ('b', '2'), ('c', '3'), ('x', 55), 
					('y', None), ('h', 99)])
					>>> list(mydict.items())
					[('a', 2), ('b', '2'), ('c', '3'), ('x', 55), ('y', 
					None), ('h', 99)]
					>>> 
		字典的删除
			pop 	只能弹出指定的内容键,不能弹出数值
					>>> mydict.pop()
					Traceback (most recent call last):
					  File "<pyshell#96>", line 1, in <module>
					    mydict.pop()
					TypeError: pop expected at least 1 arguments, got 0
					>>> mydict.pop('y')
					>>> mydict
					{'a': 2, 'b': '2', 'c': '3', 'x': 55, 'h': 99}
					>>> mydict.pop('h')
					99
					>>> mydict
					{'a': 2, 'b': '2', 'c': '3', 'x': 55}
					>>> mydict.pop(55)
					Traceback (most recent call last):
					  File "<pyshell#101>", line 1, in <module>
					    mydict.pop(55)
					KeyError: 55

			popitem clear   随机弹出内容,清空内容
						>>> mydict
						{'a': 2, 'b': '2', 'c': '3', 'x': 55}
						>>> mydict.popitem()
						('x', 55)
						>>> mydict.popitem()
						('c', '3')
						>>> mydict.popitem()
						('b', '2')
						>>> mydict
						{'a': 2}
						>>> list(mydict.items())
						[('a', 2)]
						>>> mydict = dict(zip('abcd','1234'))
						>>> mydict
						{'a': '1', 'b': '2', 'c': '3', 'd': '4'}
						>>> list(mydict.items())
						[('a', '1'), ('b', '2'), ('c', '3'), ('d', '4')]
						>>> mydict.popitem()
						('d', '4')
						>>> mydict.popitem()
						('c', '3')
						>>> mydict.popitem()
						('b', '2')
						>>> mydict
						{'a': '1'}
						>>> mydict.clear()
						>>> mydict
						{}
			python2中
				判断has_key
			python3
				用in 	替换
				in判定有没有指定的键
					>>> mydict = dict(zip('abcd','1234'))
					>>> mydict
					{'a': '1', 'b': '2', 'c': '3', 'd': '4'}
					>>> 'a' in mydict		判断a 是否在字典里
					True
					>>> 2 in mydict
					False
					>>> '2' in mydict
					False

字典的拷贝属于浅层拷贝,拷贝和拷贝对象的嵌套层同属一个内存,一个修改另一个也会修改
	普通键对应的值发生变化,复制的字典值不变,列表对应的键值变了,复制的列表的对应的键值也变化
		>>> mydict
		{'a': '1', 'b': '2', 'c': '3', 'd': '4'}
		>>> mydict.update({'z':[11]})
		>>> mydict
		{'a': '1', 'b': '2', 'c': '3', 'd': '4', 'z': [11]}
		>>> mydict_1 = mydict.copy()
		>>> mydict_1
		{'a': '1', 'b': '2', 'c': '3', 'd': '4', 'z': [11]}
		>>> mydict['a'] = 11
		>>> mydict
		{'a': 11, 'b': '2', 'c': '3', 'd': '4', 'z': [11]}
		>>> mydict_1
		{'a': '1', 'b': '2', 'c': '3', 'd': '4', 'z': [11]}
		>>> mydict['z'][0] = 5
		>>> mydict
		{'a': 11, 'b': '2', 'c': '3', 'd': '4', 'z': [5]}
		>>> mydict_1
		{'a': '1', 'b': '2', 'c': '3', 'd': '4', 'z': [5]}

数据类型的总结
	
			str		list	tuple	dict
是否有序		是		是		是		否
是否可修改	不		可		不		可
方法多少		很多		一般		很少		较多   映射关系








  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值