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

将每 2 个字符串组合为 1 个字符串

将每 2 个字符串组合为 1 个字符串

神不在的星期二 2021-06-14 15:05:46
我有一个清单list = ['247400015203223811', 'DPF', '247400015203223813', 'ZPF']我想得到一个字符串列表,比如["247400015203223811, DPF", "247400015203223813, ZPF"] 将每 2 个字符串组合成 1 个字符串我试过list2 = []list = ['247400015203223811', 'DPF', '247400015203223813', 'ZPF']        for i in range(0, len(list), 2):            list2.append(list[i] + list[i])这甚至可能吗?
查看完整描述

3 回答

?
慕沐林林

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

你几乎拥有它,你可以使用这个列表理解:


mylist = ['247400015203223811', 'DPF', '247400015203223813', 'ZPF']


mylist2 = [mylist[i]+', '+mylist[i+1]for i in range(0,len(mylist),2)]


>>> mylist2

['247400015203223811, DPF', '247400015203223813, ZPF']

确保你不使用关键字list作为变量名,因为它掩盖了 python 内置类型(我改为mylist)


查看完整回答
反对 回复 2021-06-16
?
LEATH

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

我认为切片zip可以在这里很好地工作:


# assuming list of stringals is named `strings`

even_indexed = strings[::2]

odd_indexed = strings[1::2]


# create pairs to join

pairs = zip(even_indexed, odd_indexed)


# join all pairs

result = list(map(', '.join, pairs))

无法测试,但这可以理解。


查看完整回答
反对 回复 2021-06-16
?
千巷猫影

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

当然是可能的,你几乎得到了答案:

你只需要在第二个词的索引上加 1:


list2 = []


list1 = ['247400015203223811', 'DPF', '247400015203223813', 'ZPF']


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

    list2.append(list1[i] + list1[i+1])


print(list2) # OUTPUT: ['247400015203223811DPF', '247400015203223813ZPF']

但您可能还想在两个词之间加一个点:


list2.append(list1[i] + '.' + list1[i+1]) # OUTPUT: ['247400015203223811.DPF', '247400015203223813.ZPF']



查看完整回答
反对 回复 2021-06-16
  • 3 回答
  • 0 关注
  • 157 浏览
慕课专栏
更多

添加回答

举报

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