python学习之把列表元素拼接成字符串的4种方法

前言

我们在分析列表数据时,常常需要对列表数据进行输出或多列表关联拼接。直接使用列表,列表中的各元素以逗号分隔,每个元素包含引号。如何连接列表中的元素为一个字符串呢?
文章主要介绍python 连接列表元素的4种方法,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下。

一、使用join()方法连接列列表

使用join()方法可将列表中的元素以指定的间隔符进行连接,如果不使用间隔符,可以使用’ ‘空字符作为间隔符。下面介绍使用符号’ ’ 和"_"连接每个城市:

# *_* coding : UTF-8 *_*

city=['上海', '广州', '成都', '北京', '武汉', '长沙', '杭州', '厦门']
print(''.join(city))
print(' '.join(city))
print('-'.join(city))

输出结果:

上海广州成都北京武汉长沙杭州厦门
上海 广州 成都 北京 武汉 长沙 杭州 厦门
上海-广州-成都-北京-武汉-长沙-杭州-厦门

二、利用for循环连接列表

使用for循环读取列表中的每一个元素,然后拼接为一个字符串。可以按需要设置间隔字符。如使用符号’‘、’+‘和’<'连接列表中的元素。在输出时,若使用print()函数进行直接输出,也可以直接设置print()函数的end参数来设置分隔符,如下:

# *_* coding : UTF-8 *_*

data = [10, 20, 30, 40, 50, 60, 70, 80]
strnull = ''
stradd = ''
strlin = ''
for item in data:
    strnull = strnull + str(item)  # 连接列表中的元素,间隔符为空
    stradd = stradd + '+' + str(item)  # 连接列表中的元素,间隔符为‘+’
    strlin = strlin + '<' + str(item)  # 连接列表中的元素,间隔符为‘<’
    if item ==80:
        print(item)
    else:
        print(item, end='*')  # 在输出设置间隔符为‘*’,连接各个元素
print(strnull)
print(stradd.lstrip('+'))
print(strlin.lstrip('<'))

输出结果:

10203040506070*80
1020304050607080
10+20+30+40+50+60+70+80
10<20<30<40<50<60<70<80

三、对列表进行切片然后连接

使用列表中的切片操作提取列表中的元素,然后用“+”连接,可以实现列表中元素的连接。

# *_* coding : UTF-8 *_*

data=['上海', '广州', '上海', '成都', '上海', '上海', '北京', '上海', '广州', '北京', '上海']
strnull=data[1]+data[2]+ data[3]+data[4]                     # 连接列表中的元素,间隔符为空
stradd=data[1]+'-'+data[2]+'-'+ data[3]+'-'+data[4]   # 连接列表中的元素,间隔符为‘+’
print(strnull)
print(stradd)

输出结果:

广州上海成都上海
广州-上海-成都-上海

四、使用zip压缩多个列表为一个列表

zip()函数用于可迭代的对象作为参数,将对象中对应的元素依次打包成元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用“*”号操作符,可以将元组解压为列表。
语法:zip([iterable,…])
参数说明:“iterable,…”用于指定一个或多个迭代器。
返回值:元组列表
示例:有table1,table2,table3,3个表分别分别存储了各国汽车销量的前六名品牌和销量,若要对各品牌汽车销量进行汇总分析,可以使用zip()函数将多个列表拼接为一个列表。

# *_* coding : UTF-8 *_*

gem=[["大众",643518],["奔驰",319163],["宝马",265051],["福特",252323],["雪铁龙",227967],["奥迪",255300]]
fra=[["雪铁龙", 698985],["雷诺",547704],["大众",259268],["福特",82633],["宝马",84931],["奔驰",73254]]
eng=[["福特",254082],["大众",203150],["雪铁龙",177298],["奔驰",172238],["宝马",172048],["奥迪",143739]]
for item1,item2,item3 in zip(gem,fra,eng):
    print(item1[0],item1[1],"  ",item2[0],item2[1],"  ",item3[0],item3[1])

for item1,item2,item3 in zip(gem,fra,eng):
    item11 = item1[0].ljust(8)
    item12 = str(item1[1]).ljust(8)
    item21 = item2[0].ljust(8)
    item22 = str(item2[1]).ljust(8)
    item31 = item1[0].ljust(8)
    item32 = str(item3[1]).ljust(8)
    print(item11 +"\t",item12+"\t","  ",item21+"\t",item22+"\t","  ",item31+"\t",item32)

输出结果:

大众 643518 雪铁龙 698985 福特 254082
奔驰 319163 雷诺 547704 大众 203150
宝马 265051 大众 259268 雪铁龙 177298
福特 252323 福特 82633 奔驰 172238
雪铁龙 227967 宝马 84931 宝马 172048
奥迪 255300 奔驰 73254 奥迪 143739
大众 643518 雪铁龙 698985 大众 254082
奔驰 319163 雷诺 547704 奔驰 203150
宝马 265051 大众 259268 宝马 177298
福特 252323 福特 82633 福特 172238
雪铁龙 227967 宝马 84931 雪铁龙 172048
奥迪 255300 奔驰 73254 奥迪 143739

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年3月7日
下一篇 2023年3月7日

相关推荐