猿问

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

我有一个清单


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])

这甚至可能吗?


神不在的星期二
浏览 158回答 3
3回答

慕沐林林

你几乎拥有它,你可以使用这个列表理解: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)

LEATH

我认为切片zip可以在这里很好地工作:# assuming list of stringals is named `strings`even_indexed = strings[::2]odd_indexed = strings[1::2]# create pairs to joinpairs = zip(even_indexed, odd_indexed)# join all pairsresult = list(map(', '.join, pairs))无法测试,但这可以理解。

千巷猫影

当然是可能的,你几乎得到了答案:你只需要在第二个词的索引上加 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']
随时随地看视频慕课网APP

相关分类

Python
我要回答