Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
82 views
in Technique[技术] by (71.8m points)

python - How to convert a array of array to array of tuples

I everyone,

I struggle to convert an array of array like this :

[
    ["foo","bar","foo","bar","foo"],
    ["foo","bar","foo","bar","foo"],
    ["foo","bar","foo","bar","foo"],
    ["foo","bar","foo","bar","foo"]
]

to an array of tuples (array, str) like this:

[
    (["foo","bar","foo","bar","foo"], "type1"), 
    (["foo","bar","foo","bar","foo"], "type1"), 
    (["foo","bar","foo","bar","foo"], "type1"), 
    (["foo","bar","foo","bar","foo"], "type1")
]

I did find a way to append the type to the array but it's not exactly what I want:

[
    ["foo","bar","foo","bar","foo", "type1"], 
    ["foo","bar","foo","bar","foo", "type1"], 
    ["foo","bar","foo","bar","foo", "type1"], 
    ["foo","bar","foo","bar","foo", "type1"]
]

Do you have something better ? Thanks :)

question from:https://stackoverflow.com/questions/65952341/how-to-convert-a-array-of-array-to-array-of-tuples

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Solution

Shortest solution: list(zip(vals, types)) ??????

vals = [
    ["foo","bar","foo","bar","foo"], 
    ["foo","bar","foo","bar","foo"], 
    ["foo","bar","foo","bar","foo"], 
    ["foo","bar","foo","bar","foo"]
]

# If you must specify different types for each element
# uncomment the following line
# types = ['type1', 'type2', 'type3', 'type4']

# If all of them should have the same type
types = ['type1' for _ in range(len(vals))]

# Finally combine vals and types
list(zip(vals, types))

Output:

[(['foo', 'bar', 'foo', 'bar', 'foo'], 'type1'),
 (['foo', 'bar', 'foo', 'bar', 'foo'], 'type1'),
 (['foo', 'bar', 'foo', 'bar', 'foo'], 'type1'),
 (['foo', 'bar', 'foo', 'bar', 'foo'], 'type1')]

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...