繁体   English   中英

python中的Zip键值对

[英]Zip key value pairs in python

我需要将输出从数字1 = 0更改为(1:0)或('1':0)。 我想更改为键值对。 下面是我正在使用的代码。

numberlist = [1]
val_list = [0]
for (number, val) in zip(numberlist, val_list):
    print 'number ', number, ' = ', val

输出: number 1 = 0所需输出为:( ('1':0) or (1:0)

numberlist = [1, 2, 3]
val_list = [4, 5, 6]

mydictionary = dict(zip(numberlist,val_list))

这将创建一个字典,其中numberlist为键, val_list为值。

>>> mydictionary
{1: 4, 2: 5, 3: 6}
>>> mydictionary[1]
4

您可以使用格式化的print语句来实现此目的:

numberlist = [1]
val_list = [0]
for (number, val) in zip(numberlist, val_list):
    print "(%d:%d)" % (number, val, )

打印(1:0),或

numberlist = [1]
val_list = [0]
for (number, val) in zip(numberlist, val_list):
    print "('%d':%d)" % (number, val, )

打印('1':0)

就个人而言,我是splat运营商的粉丝。

numberlist = [1, 3, 5]
val_list = [0, 2, 4]
for fmt in zip(numberlist, val_list):
    print("('{}':{})".format(*fmt))

请记住,每个列表中的每个项目都是整数,但正在使用引号打印。 如果您确实想将每个转换为字符串,您可以执行以下操作:

newList = zip(map(str, numberlist), val_list) # List of tuples
# or, if you want a dict:
newDict = dict(newList) # dict where each key is in numberlist and values are in val_list

zip后使用内置的dict函数。 这将为您提供一个字典,然后您可以遍历字典以获取键值对。

numberlist = [1]
val_list = [0]    
print dict(zip(numberlist, val_list))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM