在数组中查找值

2024-06-28 19:53:18 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有两个数据集

DS1
ArrayCol
[1,2,3,4]
[1,2,3]

DS2
Key            Name
1              A
2              B
3              C
4              D

如何在数组中查找值来映射“Name”,这样我就可以拥有另一个如下所示的数据集?你知道吗

DS3
COlNew
[A,B,C,D]
[A,B,C]

谢谢,它在数据库里,所以方法是可以的。python、sql、scala…。。。你知道吗


Tags: 数据方法keyname数据库sql数组scala
2条回答

假设你的数据集在文件中,你可以这样做

利用dict

f=open("ds1.txt").readlines()
g=open("ds2.txt").readlines()
u=dict(item.rstrip().split("\t") for item in g)
for i in f:
    i = i.rstrip().strip('][').split(',')
    print [u[col] for col in i]

输出

['A', 'B', 'C', 'D']
['A', 'B', 'C']

你可以试试这个

ds1 = [[1, 2, 3, 4], [1, 2, 3]]
ds2 = {1: 'A', 2: 'B', 3: 'C', 4: 'D'}
new_data = [[ds2[cell] for cell in col] for col in ds1]
print(new_data)

输出:

[['A', 'B', 'C', 'D'], ['A', 'B', 'C']]

希望这会有所帮助。:)

相关问题 更多 >