2016.8.7 UnicodeEncodeError 同时遍历多个list

本文介绍了如何解决Python中写文件时出现的UnicodeEncodeError,并展示了如何遍历多个列表及使用zip函数构造字典的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写文件时遇到错误: UnicodeEncodeError: 'ascii' codec can't encode characters in position 3-7: ordinal not in range(128)

解决办法:import sys

     reload(sys)

     sys.setdefaultencoding('utf8')

 

同时遍历多个list  

L1 = [1,2,3,4]

L2 = [5,6,7,8]

for (x,y) in zip(L1,L2):

       print(x,'+',y,'=',x + y)

 

运行结果为:

1 + 5 = 6

 

使用zip构造字典,非常方便。

示例:

keys = ['spam','eggs','toast']

vals = [1,3,5]

list(zip(keys,vals)) 

D2 = {}

for (k,v) in zip(keys,vals):

       D2[k] = v

print(D2)

运行结果为:{'toast': 5, 'eggs': 3, 'spam': 1}

python2.2和后续版本中,可以完全跳过for循环,直接把zip过的健/值列表传给内置的dict构造函数,以上划线部分可以换做D3 = dict(zip(keys,vals))

内置变量名dict其实是python中的类型名称

2 + 6 = 8

3 + 7 = 10

4 + 8 = 12

转载于:https://www.cnblogs.com/zyf1/p/5747368.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值