当使用join进行拼接列表时, 列表中的元素必须都得是字符串类型

ls = []
for i in range(2000,3201):
    if i%7 == 0 and i%5 != 0:
        ls.append(i)
print(",".join(ls))
>>> 
= RESTART: C:/Users/Administrator/AppData/Local/Programs/Python/Python39/练习题.py
Traceback (most recent call last):
  File "C:/Users/Administrator/AppData/Local/Programs/Python/Python39/练习题.py", line 6, in <module>
    print(",".join(ls))
TypeError: sequence item 0: expected str instance, int found

当使用join进行拼接列表时, 列表中的元素必须都得是字符串类型

1.如果遇到数字类型的列表,那么可以使用map函数将每个元素转换为字符串类型

ls = []
for i in range(2000,3201):
    if i%7 == 0 and i%5 != 0:
        ls.append(i)
print(",".join(list(map(str,ls))))#使用map函数将每个元素转换为字符串

= RESTART: C:/Users/Administrator/AppData/Local/Programs/Python/Python39/练习题.py
2002,2009,2016,2023,2037,2044,2051,2058,2072,2079,2086,2093,2107,2114,2121,2128,2142,2149,2156,2163,2177,2184,2191,2198,2212,2219,2226,2233,2247,2254,2261,2268,2282,2289,2296,2303,2317,2324,2331,2338,2352,2359,2366,2373,2387,2394,2401,2408,2422,2429,2436,2443,2457,2464,2471,2478,2492,2499,2506,2513,2527,2534,2541,2548,2562,2569,2576,2583,2597,2604,2611,2618,2632,2639,2646,2653,2667,2674,2681,2688,2702,2709,2716,2723,2737,2744,2751,2758,2772,2779,2786,2793,2807,2814,2821,2828,2842,2849,2856,2863,2877,2884,2891,2898,2912,2919,2926,2933,2947,2954,2961,2968,2982,2989,2996,3003,3017,3024,3031,3038,3052,3059,3066,3073,3087,3094,3101,3108,3122,3129,3136,3143,3157,3164,3171,3178,3192,3199

2.或者在创建列表的时候,将数字类型的元素转换为字符串类型

ls = []
for i in range(2000,3201):
    if i%7 == 0 and i%5 != 0:
        ls.append(str(i))#将数字类型转换为字符串类型
print(",".join(ls))

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值