【发布时间】:2021-04-03 22:16:12
【问题描述】:
nums = [1,2,3,4,5,6]
replace = 1
for x in nums:
x = replace
print(x)
如何将所有nums 替换为1:
nums = [1,1,1,1,1,1]
【问题讨论】:
nums = [1,2,3,4,5,6]
replace = 1
for x in nums:
x = replace
print(x)
如何将所有nums 替换为1:
nums = [1,1,1,1,1,1]
【问题讨论】:
如果数字(在本例中为1)已知,只需像这样重新分配它:
replace = 1
nums = [replace]*len(nums)
如果数字太多,这比其他答案中建议的迭代要快得多。
>>> start=time.time(); a = [1 for _ in range(1000000)]; print(time.time() - start)
0.039171695709228516
>>> start=time.time(); a = [1] * 1000000; print(time.time() - start)
0.0036449432373046875
【讨论】:
x=replace 替换的是迭代器,而不是列表中的值,所以尝试使用list理解:
nums = [replace for x in nums]
print(nums)
输出:
[1, 1, 1, 1, 1, 1]
【讨论】:
除了nums=[1,1,1,1,1,1]之外还有几种方式:
nums = [1,2,3,4,5,6]
replace = 1
for index,_ in enumerate(nums):
nums[index] = replace
【讨论】:
试试这个:
nums = [1,2,3,4,5,6]
replace=1
nums=[replace]*len(nums)
【讨论】:
如果要使用循环,可以执行以下操作:
nums=[1,2,3,4,5,6]
replace=1
for i in range(len(nums)):
nums[i]=replace
>>> print(nums)
[1, 1, 1, 1, 1, 1]
【讨论】:
如果您还有其他问题,请告诉我。
第一个 Mtd:-
nums = [1,2,3,4,5,6]
replace = 1
nums = list(map(lambda x : replace,nums))
第二个 Mtd:-
nums = [1,2,3,4,5,6]
replace = 1
nums = [replace for i in range(len(nums))]
print(nums)
【讨论】: