Python中字符串、列表、字典常用的拼接方法有哪些?
共 8831字,需浏览 18分钟
·
2024-08-08 22:22
关于字符串的拼接最常用的方式是使用加号(+)进行连接;
处理后两个字符串变成一个字符串;
需要注意的是,加号(+)两边都需要是字符串,如果一个是字符串,一个是数字,那需要把数字转换成字符串,可使用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
可使用逗号连接字符串;
使用逗号连接多个字符串后,最终结果是元组;
可使用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:直接打印:
print("我有一个亿," "我是高富帅")
# 输出:我有一个亿,我是高富帅
示例2:加空格直接打印:
print("我有一个亿, " "我是高富帅")
# 输出:我有一个亿, 我是高富帅
示例3:直接打印多个:
print("当你有10个亿,"
"你会怎么办?"
"1、买别墅?"
"2、买豪车?"
"3、投资健康?"
"4、做慈善?"
"5、不知道怎么做!")
# 输出:
# 当你有10个亿,你会怎么办?1、买别墅?2、买豪车?3、投资健康?4、做慈善?5、不知道怎么做!
这个字符串的格式化一样,使用%连接一个字符串和一组变量;
比如:
print("%s %s" % ("元宵节", "快乐!"))
# 输出:元宵节 快乐!
jion()方法可以将列表中的元素连接起来,并且可以指定连接符;
比如不使用连接符:
data_list = ['你是', '土肥圆', '你怕啥']
print("".join(data_list))
# 输出:你是土肥圆你怕啥
比如使用逗号连接:
data_list = ['你是', '土肥圆', '你怕啥']
print(",".join(data_list))
# 输出:你是,土肥圆,你怕啥
使用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
先使用列表切片,然后再使用“+”进行连接;
示例如下:
data = ["成都", "重庆", "杭州", "武汉", "西安", "天津", "苏州",
"南京", "郑州", "长沙", "东莞", "沈阳", "青岛", "合肥", "佛山"]
data01 = data[1] + data[3] + data[5] + data[7]
print(data01) # 输出:重庆武汉天津南京
data02 = data[2] + "-" + data[4] + "-" +data[6] + "-" + data[8]
print(data02) # 输出:杭州-西安-苏州-郑州
使用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
可以直接使用字典的items()方法获得字典的键值对列表;如下:
month = {"1月": "100万", "2月": "200万", "3月": "300万", "4月": "400万"}
for key, value in month.items():
print(key, value)
使用字典对象的keys()方法获得字典的键值;
比如:
score = {"火影": "100", "海贼王": "100", "死神": "99", "妖精的尾巴": "98"}
for key in list(score.keys()):
print(key)
# 输出:
# 火影
# 海贼王
# 死神
# 妖精的尾巴
使用字典对象的values()方法获得字典的值;
score = {"火影": "100", "海贼王": "100", "死神": "99", "妖精的尾巴": "98"}
for value in list(score.values()):
print(value)
# 输出:
# 100
# 100
# 99
# 98
链接:https://blog.51cto.com/NoamaNelson/9755354