LeetCode 数组 容易 python
*********************************************
2018-05-22 May Tuesday the 21 week, the 142 day SZ
这个文档用python在Leetcode上来刷题,打算每天早上过来后先刷3道题,周末刷10道题。一个月140个题。
这个是中文版的
标注’问题‘的说明还有些问题,方便以后搜索查询
网页版使用说明:在问题前面画上对号的说明自己已经提交成功了
刚开始刷题很慢,每天只能刷3道题左右,因为很多题目网友的答案没有解说,自己只能用print去输出结果,去猜测网友的脑洞,最后才发现网友真的是太有才了。
后来多看几个网友的答案,自己再想想自己的答案,然后一道题就能够耗费一个上午。
*********************************************
########################
算法 容易
数组部分,
汉化版 leetcode,PYTHON题答案
######################
1 去除数组中重复数字,并且返回新数组
从排序数组中删除重复项
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:
给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。示例 2:
给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。你不需要考虑数组中超出新长度后面的元素。#这段代码耗时非常短,主要是假设了列表是排好序的。当然也可以用函数先对无序列表排序
class Solution(object):def removeDuplication(self,old_list):i = 0while i < len(old_list)-1:if old_list[i] == old_list[i+1]:old_list.remove(old_list[i])else:i += 1return old_listmy_solution = Solution()
old_list = [1,1,2,2,3]
a = my_solution.removeDuplication(old_list)
print(a)[1, 2, 3]
[Finished in 0.5s]方法2
class Solution(object):def removeDuplication(self,old_list):new_list = list(set(old_list)) #set函数可以去除列表中的重复元素,并且变成集合的形式,所以前面添加的list又把集合转化为列表形式输出return new_listmy_solution = Solution()
old_list = [1,1,2,2,3]
a = my_solution.removeDuplication(old_list)
print(a)[1, 2, 3]
[Finished in 5.6s]
2
买卖股票的最佳时机 II给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:
输入: [7,1,5,3,6,4]
输出: 7
解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6-3 = 3 。示例 2:
输入: [1,2,3,4,5]
输出: 4
解释: 在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。注意你不能在第 1 天和第 2 天接连购买股票,之后再将它们卖出。因为这样属于同时参与了多笔交易,你必须在再次购买前出售掉之前的股票。示例 3:
输入: [7,6,4,3,1]
输出: 0
解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。#交易多次股票求最大利润的代码
class Solution(object):def maxProfit(prices):""":type prices: List[int]:rtype: int"""if prices is None or len(prices) ==0:return 0begin_value = prices[0]result = 0for i in prices:if i > begin_value:result= result + i - begin_value #多次买入求累计利润begin_value = i #重新买入else:begin_value = min(i, begin_value)return resultprices = [7,1,5,3,6,4]
a = Solution.maxProfit(prices)
print(a)3 通过 2018-05-23 May Wednesday the 21 week, the 143 day SZ
旋转数组
给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:
输入: [1,2,3,4,5,6,7] 和 k = 3
输出: [5,6,7,1,2,3,4]
解释:
向右旋转 1 步: [7,1,2,3,4,5,6]
向右旋转 2 步: [6,7,1,2,3,4,5]
向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:
输入: [-1,-100,3,99] 和 k = 2
输出: [3,99,-1,-100]
解释:
向右旋转 1 步: [99,-1,-100,3]
向右旋转 2 步: [3,99,-1,-100]说明:
•尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。
•要求使用空间复杂度为 O(1) 的原地算法
#python 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。class Solution(object):def rotate(self, nums, k):""":type nums: List[int]:type k: int:rtype: void Do not return anything, modify nums in-place instead."""len_nums = len(nums)nums[:] = nums[len_nums-k:] + nums[:len_nums-k]test_nums1 = [-1, -100, 3, 99]
test_nums2 = [1, 2, 3, 4, 5, 6, 7]my_solution = Solution()
my_solution.rotate(test_nums1, 2)
my_solution.rotate(test_nums2, 3)
print(test_nums1)
print(test_nums2)4 通过
2018-05-23 May Wednesday the 21 week, the 143 day SZ
存在重复
给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:
输入: [1,2,3,1]
输出: true示例 2:
输入: [1,2,3,4]
输出: false示例 3:
输入: [1,1,1,3,3,4,3,2,4,2]
输出: true
'''
思路:
通过set函数删除重复数字,然后通过判断新旧数组长度是否相同
'''
class Solution(object):def containsDuplicate(self, nums):""":type nums: List[int]:rtype: bool"""if len(set(nums)) == len(nums): #set函数删除重复数字,并且把数组变成集合形式return Falseelse:return Truetest_nums2 = [1, 2, 3, 3, 5, 6, 7]
my_solution = Solution()
a = my_solution.containsDuplicate(test_nums2)print(a)5 通过
只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:
输入: [2,2,1]
输出: 1示例 2:
输入: [4,1,2,1,2]
输出: 4
方法1:异或法
#^异或代表,两个数不同时候为1.
class Solution(object):def singleNumber(self, nums):temp = 0for i in nums:temp = temp ^ i #任何数和0异或都是本身,两个相同的数字异或为0return tempmy_solution = Solution()
nums = [4,1,2,1,2]
a = my_solution.singleNumber(nums)
print(a)6 两个数组的交集 问题
给定两个数组,写一个方法来计算它们的交集。例如:
给定 nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2].注意:
• 输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。
• 我们可以不考虑输出结果的顺序。跟进:
•如果给定的数组已经排好序呢?你将如何优化你的算法?
•如果 nums1 的大小比 nums2 小很多,哪种方法更优?
•如果nums2的元素存储在磁盘上,内存是有限的,你不能一次加载所有的元素到内存中,你该怎么办?'''
解法1
思路:暴力法,循环比较数组2中是否有某个值和数组1中相同
'''
class Solution(object):def intersect(self, nums1, nums2):""":type nums1: List[int]:type nums2: List[int]:rtype: List[int]"""res = []for num1 in nums1:#index = -1 for j in range(0, len(nums2)):if nums2[j] == num1:index = jbreakif index != -1:res.append(num1)del nums2[index]return res
my_solution = Solution()
nums1 = [1,2,2]
nums2 = [3,2,2,1]
a = my_solution.intersect(nums1, nums2)
print(a)'''
解法2通过
思路:先给数组排序,然后用两个指针依次比较,如果相等则指针都加一,如果....
'''
class Solution(object):def intersect(self, nums1, nums2):""":type nums1: List[int]:type nums2: List[int]:rtype: List[int]"""res = []nums1.sort()nums2.sort()i = j = 0while i < len(nums1) and j < len(nums2):if nums1[i] == nums2[j]:res.append(nums1[i])i+=1j+=1elif nums1[i] < nums2[j]:i += 1else:j +=1return res
my_solution = Solution()
nums1 = [1,2,2]
nums2 = [3,2,4,1]
a = my_solution.intersect(nums1, nums2)
print(a)
'''for i in range(len(nums1)):for j in range(len(nums2)):'''7 加一
给定一个非负整数组成的非空数组,在该数的基础上加一,返回一个新的数组。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:
输入: [1,2,3]
输出: [1,2,4]
解释: 输入数组表示数字 123。示例 2:
输入: [4,3,2,1]
输出: [4,3,2,2]
解释: 输入数组表示数字 4321。
#2018-05-30 May Wednesday the 22 week, the 150 day SZ
'''
解法1 思路:
把列表看成整数,然后加一,输出。第一步:把列表转化为整数,第二部整数加一然后转化为列表输出
把列表看成十进制数字,个位乘以1,十位乘以10,以此类推。
把列表反转,然后进行十进制转化,enumerate函数把列表组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
返回的那个数字加一就行了,然后把返回的数字列表化。map() 会根据提供的函数对指定序列做映射。
'''
class Solution:def plusOne(self, digits):dint = 0for i,j in enumerate(digits[::-1]): #digits[::-1]可以把列表里面元素反转,digits只是按照原样输出dint += j*10**i #print(i,j,dint)return list(map(int,str(dint+1))) #map()函数Python 2.x 返回列表。Python 3.x 返回迭代器。int() 函数用于将一个字符串或数字转换为整型。str()函数返回一个对象的string格式。my_solution = Solution()nums = [4,1,2,3]
print(list(enumerate(nums[::-1])))
a = my_solution.plusOne(nums)
print(a)[4, 1, 2, 4]
[Finished in 0.5s]
在LeetCode里面算是最慢的算法了。但就是简洁,简单到让人尖叫#2018-05-30 May Wednesday the 22 week, the 150 day SZ'''
解法2思路:
利用递归法,用if判断末尾是否数字9,如果是,那就给删除9的数组继续递归,比上一个算法快些
'''
class Solution:def plusOne(self, digits):if len(digits) == 0: #判断数组长度,为空,返回1digits = [1]elif digits[-1] == 9: #末尾为9digits = self.plusOne(digits[:-1]) #递归调用函数,如果倒数第二位也是9,那就继续递归digits.extend([0]) #数组末尾添加0else: #如果末尾不是9,末尾加一digits[-1] += 1return digitsmy_solution = Solution()nums = [4,1,2,3]
a = my_solution.plusOne(nums)
print(a)
8 移动0
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:
输入: [0,1,0,3,12]
输出: [1,3,12,0,0]说明:
1.必须在原数组上操作,不能拷贝额外的数组。
2.尽量减少操作次数。'''
解法1没通过哈,思路:
for循环把数字0和其他东西分开放在另外两个数组里面,然后把新建的两个数组相加。
leetcode给的错误信息,看了下,原来是人家要求只用一个数组解决问题。我总共使用了三个数组解决问题。
Line 63: SyntaxError: EOF while scanning triple-quoted string literal
'''
class Solution:def moveZeroes(self, digits):digits1 = []digits2 = []for i in digits:if i ==0:digits1.extend([0])else:digits2.extend([i])return digits2 + digits1my_solution = Solution()nums = [0,1,0,3,12]
a = my_solution.moveZeroes(nums)
print(a)[1, 3, 12, 0, 0]
[Finished in 0.6s]#2018-05-30 May Wednesday the 22 week, the 150 day SZ'''
解法2没通过哈,思路:
for循环,碰到0,删除,最后添加一个0.循环一遍就搞定了
leetcode反馈如下,反正不让我通过
Do not return anything, modify nums in-place instead.'''
class Solution:def moveZeroes(self, digits):if len(digits) == 0:return digitselse:for i in digits:if i ==0:digits.remove(i)digits.append(0)return digitsmy_solution = Solution()nums = [0,1,0,3,12]
a = my_solution.moveZeroes(nums)
print(a)[1, 3, 12, 0, 0]
[Finished in 5.2s]
leetcode反馈如下,反正不让我通过
Do not return anything, modify nums in-place instead.我目前还没有发现问题在哪里
#2018-05-30 May Wednesday the 22 week, the 150 day SZ'''
解法3通过哈,思路:
#if保证找到非零元素,如果是0,就不会执行if 下面的语句。index确定零元素的起始位置。
'''
class Solution(object):def moveZeroes(self, nums):""":type nums: List[int]:rtype: void Do not return anything, modify nums in-place instead."""index = 0for n in nums:if n: #保证找到非零元素,如果是0,就不会执行if 下面的语句nums[index] = nindex += 1for i in range(index, len(nums)):nums[i] = 0#return nums #题目要求不要返回值,所以这行删除,所有行为都是在原数组上操作。my_solution = Solution()nums = [0,1,0,3,12]
a = my_solution.moveZeroes(nums)
print(a)2018-05-23 May Wednesday the 21 week, the 143 day SZ
9 两数之和
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:
给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]'''
解法1通过,思路:
for循环做两个纸针,第一个指针保持不动,一次增大第二个指针。然后再增大第一个指针。这样保证所有数字都充分利用了
'''
class Solution(object):def twoSum(self, nums, target):""":type nums: List[int]:type target: int:rtype: List[int]"""len_nums = len(nums)for i in range(len_nums):for j in range(i +1, len_nums):if nums[i] == target - nums[j]:return i, jbreak #break保证i只能被使用一次。要不然同一个i会有几个j对应。else:continue
my_solution = Solution()nums = [0,1,0,3,12]
a = my_solution.twoSum(nums,15)
print(a)'''
解法2没有通过,思路:
用一个for循环查找target - nums[i]是否存在nums列表中
'''
class Solution(object):def twoSum(self, nums, target):""":type nums: List[int]:type target: int:rtype: List[int]"""len_nums = len(nums)for i in range(len_nums):a = target - nums[i]if a in nums:j = nums.index(a) #index函数求匹配元素的第一个索引,如果列表有重复元素就完蛋了return i,jbreak #break保证i只能被使用一次。要不然同一个i会有几个j对应。else:continue
my_solution = Solution()nums = [0,1,0,3,12]
a = my_solution.twoSum(nums,15)
print(a)10 有效的数独
判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。
1.数字 1-9 在每一行只能出现一次。
2.数字 1-9 在每一列只能出现一次。
3.数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。上图是一个部分填充的有效的数独。数独部分空格内已填入了数字,空白格用 '.' 表示。示例 1:
输入:
[["5","3",".",".","7",".",".",".","."],["6",".",".","1","9","5",".",".","."],[".","9","8",".",".",".",".","6","."],["8",".",".",".","6",".",".",".","3"],["4",".",".","8",".","3",".",".","1"],["7",".",".",".","2",".",".",".","6"],[".","6",".",".",".",".","2","8","."],[".",".",".","4","1","9",".",".","5"],[".",".",".",".","8",".",".","7","9"]
]
输出: true示例 2:
输入:
[["8","3",".",".","7",".",".",".","."],["6",".",".","1","9","5",".",".","."],[".","9","8",".",".",".",".","6","."],["8",".",".",".","6",".",".",".","3"],["4",".",".","8",".","3",".",".","1"],["7",".",".",".","2",".",".",".","6"],[".","6",".",".",".",".","2","8","."],[".",".",".","4","1","9",".",".","5"],[".",".",".",".","8",".",".","7","9"]
]
输出: false
解释: 除了第一行的第一个数字从 5 改为 8 以外,空格内其他数字均与 示例1 相同。但由于位于左上角的 3x3 宫内有两个 8 存在, 因此这个数独是无效的。说明:
•一个有效的数独(部分已被填充)不一定是可解的。
•只需要根据以上规则,验证已经填入的数字是否有效即可。
•给定数独序列只包含数字 1-9 和字符 '.' 。
•给定数独永远是 9x9 形式的。'''
数独成立条件:
一个9行9列的棋盘,每行每列和每一个3*3的小方格都不能有重复的数字,并且数字只能是0-9,逐一判断这些规则是否满足即可
解法1,思路:
依照规则,依次次判断每行元素是否重复,每列元素是否重复,每个小的九宫格是否重复。
判断数列是否有重复数字的方法就是给同一个数字赋相同的值,如果成立,就说明碰到重复的数字了
用数组里面的值给对应的空列表赋值,同样的数字只能给对应的地方赋值,如果发现坑已经被占了,那肯定有人来过。这个想法不错
'''
class Solution:# @param {character[][]} board# @return {boolean}def isValidSudoku(self, board):if len(board)!=9 or len(board[0])!=9:return False #确认是个9行9列的数组for i in range(9): #0到8总共9次循环,确定行没有重复数字map=[0 for k in range(10)] #得到一个有十个0的列表[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]for j in range(9): if board[i][j]=='.':continue #放过空格if board[i][j]<'0' or board[i][j]>'9':return False #数字在0到9之外就不是数独了num = ord(board[i][j])-ord('0') #得到board[i][j]的数值,ord函数可以得到对应字符的数字形式if map[num]==1:return False#print("map[num] is:",map[num])map[num]=1#print("map[num] is:",map[num])#0到8总共9次循环,确定列没有重复数字for j in range(9):map=[0 for k in range(10)]for i in range(9):if board[i][j]=='.':continuenum = ord(board[i][j])-ord('0')#print("num is:",num)if map[num]==1:return False #判断是否有重复的数字:第一次map[num]被赋值1,如果再次碰到同一个num,map[num]等于1成立,然后返回False,程序退出循环#print("map[num] is:",map[num])map[num]=1#print("map[num] is:",map[num])#确定小宫格的情况for i in range(0,9,3):for j in range(0,9,3):map=[0 for k in range(10)]for k in range(i,i+3):for l in range(j,j+3):if board[k][l]=='.':continuenum = ord(board[k][l])-ord('0')if map[num]==1:return Falsemap[num]=1return Truemy_solution = Solution()board1 = [["8","3",".",".","7",".",".",".","."],["6",".",".","1","9","5",".",".","."],[".","9","8",".",".",".",".","6","."],["8",".",".",".","6",".",".",".","3"],["4",".",".","8",".","3",".",".","1"],["7",".",".",".","2",".",".",".","6"],[".","6",".",".",".",".","2","8","."],[".",".",".","4","1","9",".",".","5"],[".",".",".",".","8",".",".","7","9"]
]
board2 = [["5","3",".",".","7",".",".",".","."],["6",".",".","1","9","5",".",".","."],[".","9","8",".",".",".",".","6","."],["8",".",".",".","6",".",".",".","3"],["4",".",".","8",".","3",".",".","1"],["7",".",".",".","2",".",".",".","6"],[".","6",".",".",".",".","2","8","."],[".",".",".","4","1","9",".",".","5"],[".",".",".",".","8",".",".","7","9"]
]a = my_solution.isValidSudoku(board1)
print(a)b = my_solution.isValidSudoku(board2)
print(b)
2018-05-23 May Wednesday the 21 week, the 143 day SZ
11 旋转图像
给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:
给定 matrix =
[[1,2,3],[4,5,6],[7,8,9]
],原地旋转输入矩阵,使其变为:
[[7,4,1],[8,5,2],[9,6,3]
]示例 2:
给定 matrix =
[[ 5, 1, 9,11],[ 2, 4, 8,10],[13, 3, 6, 7],[15,14,12,16]
], 原地旋转输入矩阵,使其变为:
[[15,13, 2, 5],[14, 3, 4, 1],[12, 6, 8, 9],[16, 7,10,11]
]'''
方法1直接旋转,太抽象,普通人想不到这里,真的很巧妙。'''class Solution(object):def rotate(self, matrix):""":type matrix: List[List[int]]:rtype: void Do not return anything, modify matrix in-place instead."""res = []while matrix[0]:tmp = []#print("matrix is:",matrix)for循环进行依次,就弹出旧数组的一列,并且放到新数组中组成一行for row in matrix: #print("row is:",row)tmp.insert(0,row.pop(0)) #list.insert(position,value)。tmp里面放的是新图片的行#print("tmp is:",tmp) #print("temp is",tmp) res.append(tmp) #把所有的tmp行放到res中,res就是翻转后的新图像#print("res is:",res)#把res赋给旧图片for i in range(len(matrix)): #这里,必须对matrix中的每行都进行修改,才能对其重新赋值,不能直接:matrix=resmatrix[i] = res[i]print("for :",matrix[i])s = Solution()
matrix = [[1,2],[3,4]]
s.rotate(matrix)
print(matrix)'''
方法2通过
思路:
先把矩阵按照对角线对换位置,然后新的矩阵按照行逆转,经过两步就是图片的九十度顺时针旋转了。
发散思维:如果图像逆时针旋转怎么办。
也是两步走,按照相反的对角线调换位置,然后把每行逆转就成功了'''
class Solution(object):def rotate(self, matrix):""":type matrix: List[List[int]]:rtype: void Do not return anything, modify matrix in-place instead."""size = len(matrix)for i in range(size):for j in range(i + 1,size):matrix[i][j],matrix[j][i] = matrix[j][i],matrix[i][j]for i in range(size):matrix[i].reverse()s = Solution()
matrix = [[1,2],[3,4]]
s.rotate(matrix)
print(matrix)*********************数组简单部分结束**************************************
LeetCode 数组 容易 python相关推荐
- LeetCode刷题Python实录
使用Python的LeetCode刷题 前言 题目 1408. 数组中的字符串匹配 508. 出现次数最多的子树元素和 1089. 复写零 剑指 Offer 14- I. 剪绳子 1175. 质数排列 ...
- python获取系统时间月份_python 取数组绝对值python获取当前日期
今天群里一个人问了怎么获取当前时间的问题,以前接触过计算日期之差的,具体代码如下: import datetime d1=datetime.datetime(2014,3,14) d2=datetim ...
- python键盘输入数组_python 二维数组切割Python读取键盘输入的2种方法
Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘.如下: 1.raw_input 2.input raw_input函数raw_input() 函数从标准输入读取一个行,并返 ...
- boost::python模块包装几个 C++ 函数 将二维数组操作为采用 NumPy 数组的 Python 函数作为参数
boost::python模块包装几个 C++ 函数 将二维数组操作为采用 NumPy 数组的 Python 函数作为参数 实现功能 C++实现代码 实现功能 boost::python模块包装几个 ...
- python一维数组定义,python一维数组保存
python中向一维数组添加元素的方法 例如爬虫爬取到的数据只有[b11dab7a2f48d131fc9c26678636294381aedd41,供参考: old_array = ['b11dab7 ...
- Go的数组切片 Python的列表
Go的数组切片 & Python的列表 Go语言既具有C语言(静态语言)的特点,也具有Python语言(动态语言)的特点.比如,Go的数组切片与Python的列表操作十分类似.甚至有人认为Go ...
- 创建二维数组 以及 python中[0 ]* n与[0 for _ in range(n)]的区别与联系
一.浅拷贝于深拷贝 关于浅拷贝于深拷贝:Python 的深拷贝和浅拷贝 直接赋值:其实就是对象的引用(别名). 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象. 深拷贝(deepcopy) ...
- MATLAB 数组作为 Python 变量
目录 在 Python 中创建 MATLAB 数组 Python 中的 MATLAB 数组属性和方法 Python 中的多维 MATLAB 数组 在 Python 中对 MATLAB 数组进行索引 在 ...
- python二维数组换行输出_python 二维数组切割Python读取键盘输入的2种方法
Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘.如下: 1.raw_input 2.input raw_input函数raw_input() 函数从标准输入读取一个行,并返 ...
最新文章
- 女皇万岁!我们是来送礼的 ——阿里聚安全春天系列全套大礼包
- installshield 4075 错误
- 经典的Java面试题及回答集锦
- SAP Spartacus 页面标题的更改机制 - 谁动了我的页面标题?
- 387. First Unique Character in a String QuestionEditorial Solution
- 在家“隔离”这1个月,阿里云视频云这些工程师都经历了什么?
- C语言里面双分号是啥意思,问什么C程序里总是提示缺少分号;,而明明有分号?...
- python综合实验报告_Python程序设计实验报告五:综合运用三种基本结构进行程序设计(综合性实验)...
- 如何防止网站被SQL注入攻击之java网站安全部署
- JavaWeb中的Servlet原理是什么?(存库,建议收藏)
- 尚硅谷设计模式笔记-适配器模式
- asp.net开源项目及学习资料
- 爬虫学习笔记1——爬取糗百段子
- 遇到“此网站的安全证书有问题”怎么办
- Springboot(大总结)
- (002)循环语句,数组,方法,走进面向对象(封装)
- uva-1645-递推
- firefox os资源
- 解决 ArchLinux 下中文 Chinese 不能输入 couldnt input 的问题
- JSON实例简单教程
热门文章
- 力扣20.有效的括号
- Syslog4j介绍
- 使用async读取异步数据
- jieba库分词词频统计
- .NET学习知识和技术总结
- 创建预编译头 Debug 正常 Release Link Error:预编译头已存在,使用第一个 PCH
- Android多媒体应用开发-控制摄像头拍照
- centOS 6.4 vsftpd 500 illegal port command
- oracle12c不能进入到http://localhost:5500/em的解决办法
- Android代码实现控件闪烁效果