为了账号安全,请及时绑定邮箱和手机立即绑定

如何将两个列表组合成一个句子

如何将两个列表组合成一个句子

qq_花开花谢_0 2023-12-29 16:03:18
list1 = ['name', 'age', 'address'] list2 = ['mega', '20', 'Sadia']预期输出:['namemega', 'age20', 'addressSadia']
查看完整描述

5 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

您可以使用zip,如下所示:

list3 = [a + b for a, b in zip(list1, list2)]


查看完整回答
反对 回复 2023-12-29
?
呼唤远方

TA贡献1856条经验 获得超11个赞

使用zip和list comprehension:


In [1968]: list3 = [x + y for x,y in zip(list1, list2)]


In [1968]: list3

Out[1968]: ['namemega', 'age20', 'addressSadia']


查看完整回答
反对 回复 2023-12-29
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

如果您不熟悉 zip 有一个简单的方法适合您,您可以使用此代码,它将生成您期望的输出


list1 = ['name', 'age', 'address']

list2 = ['mega', '20', 'Sadia']

list3 = []


for i in range(0,len(list1)):

  list3.append(list1[i]+list2[i]) # Concatenation

list3


查看完整回答
反对 回复 2023-12-29
?
浮云间

TA贡献1829条经验 获得超4个赞

如果您熟悉 pandas,您可以轻松添加两个数据框来创建结果。尝试这个。


import pandas as pd

a = pd.DataFrame(data = ['name', 'age', 'address'])

b = pd.DataFrame(data = ['mega', '20', 'Sadia'])

c = a + b

print (list(c[0]))


查看完整回答
反对 回复 2023-12-29
?
BIG阳

TA贡献1859条经验 获得超6个赞

其他答案已经解释了如何获得所需的输出。但是,我认为这不是您实际需要的输出。您每次都必须将键(例如name)与值(例如 `mega)分开,并且通过在没有任何分隔符的情况下连接字符串,您必须知道使用哪个键来分隔键!


相反,您可以使用列表理解或仅使用内置函数来创建元组列表。这样,您可以轻松地迭代和分离列表中的键和值。


>>> [(a, b) for a, b in zip(list1, list2)]

[('name', 'mega'), ('age', '20'), ('address', 'Sadia')]

>>> list(zip(list1, list2))

[('name', 'mega'), ('age', '20'), ('address', 'Sadia')]

不过,更有用的可能是字典,最重要的是,它还可以让您轻松获取特定键的值,例如使用d["name"]; 同样,您可以使用字典理解或内置函数:


>>> {a: b for a, b in zip(list1, list2)}

{'name': 'mega', 'age': '20', 'address': 'Sadia'}

>>> dict(zip(list1, list2))

{'name': 'mega', 'age': '20', 'address': 'Sadia'}

您甚至可以考虑创建一个namedtuple来创建某种数据类。这不仅增加了一点类型安全性,而且还允许使用点表示法获取值,例如person.name.


>>> import collections

>>> Person = collections.namedtuple("Person", "name age address")

>>> Person(*list2)

Person(name='mega', age='20', address='Sadia')


查看完整回答
反对 回复 2023-12-29
  • 5 回答
  • 0 关注
  • 153 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信