Python中字符串、列表、字典常用的拼接方法有哪些?

举报
虫无涯 发表于 2024/02/23 14:26:49 2024/02/23
【摘要】 总结:1、有时在数据处理时,需要对数据进行拼接处理,比如字符串的拼接、列表的拼接等;2、本文主要是介绍了字符串、列表、字典常用的拼接方法,帮助大家快速了解常用数据的拼接方法;3、文章中会简单用一些示例进行说明,通俗易懂,便于快速对知识的掌握;4、阅读建议:在阅读前,需要对Python的字符串、列表、字典基础知识要有一定的了解。 1 字符串拼接 1.1 使用加号(+)连接关于字符串的拼接最常用...

总结:
1、有时在数据处理时,需要对数据进行拼接处理,比如字符串的拼接、列表的拼接等;
2、本文主要是介绍了字符串、列表、字典常用的拼接方法,帮助大家快速了解常用数据的拼接方法;
3、文章中会简单用一些示例进行说明,通俗易懂,便于快速对知识的掌握;
4、阅读建议:在阅读前,需要对Python的字符串、列表、字典基础知识要有一定的了解。

1 字符串拼接

1.1 使用加号(+)连接

  • 关于字符串的拼接最常用的方式是使用加号(+)进行连接;
  • 处理后两个字符串变成一个字符串;
  • 需要注意的是,加号(+)两边都需要是字符串,如果一个是字符串,一个是数字,那需要把数字转换成字符串,可使用str()方法;
  • 示例1:使用加号(+)拼接几个字符串:
bai_du = "www." + "baidu" + ".com"
print(bai_du)  # 输出:www.baidu.com

booking = "www." + "12306" + ".com"
print(booking) # 输出:www.12306.com
  • 示例2:使用加号(+)拼接字符串和数字,会报错:
booking_err = "www." + 12306 + ".com"
print(booking_err) 
# 输出:TypeError: can only concatenate str (not "int") to str

# 将数字转为字符串再拼接:
booking_01 = "www." + str(12306) + ".com"
print(booking_01) # 输出:www.12306.com

1.2 使用逗号(,)连接

  • 可使用逗号连接字符串;
  • 使用逗号连接多个字符串后,最终结果是元组;
  • 可使用join()方法将元组中的元素连接成一个字符串;
  • 示例1:先用逗号拼接几个字符串:
year = input("年份:")
month = input("月份:")
festival = input("节日:")

today = year,month,festival
print(today) 
# 输出:
# 年份:2024
# 月份:2.23
# 节日:元宵节
# ('2024', '2.23', '元宵节')
  • 示例2:将逗号拼接后的元组,使用join()方法连接为一个字符串:
today_01 = ('2024', '2.23', '元宵节')

today_str = " ".join(today_01)
print(today_str) # 输出:2024 2.23 元宵节

1.3 直接连接

  • 这个方式最简单,就是把几个字符串放在一起打印出来即可;
  • 这个打印出来的结果是不管字符串中间有没有空格,都会拼接为一个字符串,但空格依然保留;
  • 示例1:直接打印:
print("我有一个亿," "我是高富帅")
# 输出:我有一个亿,我是高富帅
  • 示例2:加空格直接打印:
print("我有一个亿, " "我是高富帅")
# 输出:我有一个亿, 我是高富帅
  • 示例3:直接打印多个:
print("当你有10个亿,"
      "你会怎么办?" 
      "1、买别墅?" 
      "2、买豪车?" 
      "3、投资健康?"
      "4、做慈善?" 
      "5、不知道怎么做!")
# 输出:
# 当你有10个亿,你会怎么办?1、买别墅?2、买豪车?3、投资健康?4、做慈善?5、不知道怎么做!

1.4 使用百分号(%)连接

  • 这个字符串的格式化一样,使用%连接一个字符串和一组变量;
  • 比如:
print("%s %s" % ("元宵节", "快乐!"))
# 输出:元宵节 快乐!

2 列表拼接

2.1 jion()方法连接

  • jion()方法可以将列表中的元素连接起来,并且可以指定连接符;
  • 比如不使用连接符:
data_list = ['你是', '土肥圆', '你怕啥']
print("".join(data_list))
# 输出:你是土肥圆你怕啥
  • 比如使用逗号连接:
data_list = ['你是', '土肥圆', '你怕啥']
print(",".join(data_list))
# 输出:你是,土肥圆,你怕啥

2.2 for循环方法连接

  • 使用for循环读取列表中的每个元素,然后再拼接;
  • 拼接的同时可以使用间隔字符,比如“,”,“+”,“-”等等;
  • 示例如下:
data01 = ""
data02 = ""
data03 = ""
data_list = [100, 200, 300, 400, 500, 600]
for i in data_list:
    data01 = data01 + str(i)
    data02 = data02 + "," + str(i)
    data03 = data03 + "*" + str(i)
print(data01)  # 输出:100200300400500600
print(data02.lstrip(",")) # 输出:100,200,300,400,500,600
print(data03.lstrip("*")) # 输出:100*200*300*400*500*600

2.3 切片方法连接

  • 先使用列表切片,然后再使用“+”进行连接;
  • 示例如下:
data = ["成都", "重庆", "杭州", "武汉", "西安", "天津", "苏州",
        "南京", "郑州", "长沙", "东莞", "沈阳", "青岛", "合肥", "佛山"]

data01 = data[1] + data[3] + data[5] + data[7]
print(data01)     # 输出:重庆武汉天津南京
data02 = data[2] + "-" + data[4] + "-" +data[6] + "-" + data[8]
print(data02)     # 输出:杭州-西安-苏州-郑州

2.4 zip()方法压缩

  • 使用zip()方法压缩将多个列表为一个列表;
  • zip()函数将迭代对象作为参数,将对象中对应的元素一次打包成元组,返回由这些元组组成的列表;
  • 示例如下:
January = [["A1", 100], ["A2", 200], ["A3", 300]]
February = [["B1", 400], ["B2", 500], ["B3", 600]]
March = [["C1", 700], ["C2", 800], ["C3", 900]]

for x, y, z in zip(January, February, March):
    print(x[0], x[1], " ", y[0], y[1], " ", z[0], z[1])
# 输出:
# A1 100   B1 400   C1 700
# A2 200   B2 500   C2 800
# A3 300   B3 600   C3 900

3 字典拼接

3.1 拼接key值和value值

  • 可以直接使用字典的items()方法获得字典的键值对列表;
  • 如下:
month = {"1月": "100万", "2月": "200万", "3月": "300万", "4月": "400万"}
for key, value in month.items():
    print(key, value)
# 输出:
# 1月 100万
# 2月 200万
# 3月 300万
# 4月 400万

3.2 拼接key值

  • 使用字典对象的keys()方法获得字典的键值;
  • 比如:
score = {"火影": "100", "海贼王": "100", "死神": "99", "妖精的尾巴": "98"}
for key in list(score.keys()):
    print(key)
# 输出:
# 火影
# 海贼王
# 死神
# 妖精的尾巴

3.3 拼接value值

  • 使用字典对象的values()方法获得字典的值;
score = {"火影": "100", "海贼王": "100", "死神": "99", "妖精的尾巴": "98"}
for value in list(score.values()):
    print(value)
# 输出:
# 100
# 100
# 99
# 98
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。