Python 将某些值从一个列表更改为另一个列表
我有两张单子Python 将某些值从一个列表更改为另一个列表,python,Python,我有两张单子 list1 = [1,2,3,4,5,6,'NO DATA',8,9,10] list2 = [0,0,0,0,0,0,7,0,0,0] 因此,我需要将list1中的第7个元素从list2更改为第7个元素 我需要定义一下: for x in list1: if x == 'NO DATA': 需要将x[index]从list1更改为x[index]从list2 我怎样才能做到这一点 因此,我需要有一个最终列表[0,1,2,3,4,5,6,7,8,9,10]一个相当简单的
list1 = [1,2,3,4,5,6,'NO DATA',8,9,10]
list2 = [0,0,0,0,0,0,7,0,0,0]
因此,我需要将list1
中的第7个元素从list2
更改为第7个元素
我需要定义一下:
for x in list1:
if x == 'NO DATA':
需要将x[index]
从list1
更改为x[index]
从list2
我怎样才能做到这一点
因此,我需要有一个最终列表
[0,1,2,3,4,5,6,7,8,9,10]
一个相当简单的方法来实现这一点:
list1 = [1,2,3,4,5,6,'NO DATA',8,9,10]
list2 = [0,0,0,0,0,0,7,0,0,0]
def get_item(x,y):
if x == "NO DATA":
return y
return x
[get_item(x, y) for (x,y) in zip(list1, list2)]
结果是:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
一种相当简单的方法:
list1 = [1,2,3,4,5,6,'NO DATA',8,9,10]
list2 = [0,0,0,0,0,0,7,0,0,0]
def get_item(x,y):
if x == "NO DATA":
return y
return x
[get_item(x, y) for (x,y) in zip(list1, list2)]
结果是:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
请尝试一下:
import copy
list1 = [1,2,3,4,5,6,'NO DATA',8,9,10]
list2 = [0,0,0,0,0,0,7,0,0,0]
list3 = copy.deepcopy(list1)
pattern = 'NO DATA'
for i, x in enumerate(list1):
if x == pattern:
list3[i] = list2[i]
print(list3)
请尝试一下:
import copy
list1 = [1,2,3,4,5,6,'NO DATA',8,9,10]
list2 = [0,0,0,0,0,0,7,0,0,0]
list3 = copy.deepcopy(list1)
pattern = 'NO DATA'
for i, x in enumerate(list1):
if x == pattern:
list3[i] = list2[i]
print(list3)
list3=[(i,j)[i==“无数据”]用于zip中的i,j(列表1,列表2)]
list3=[(i,j)[i==“无数据”]用于zip中的i,j(列表1,列表2)]
如果很少出现“无数据”
?我发布了多个“无数据”的另一个答案?如果很少出现“无数据”
?我发布了多个“无数据”的另一个答案