当需要对象的内容时,Python返回对象内存地址
规范:Python 3.3.2 我想做什么:当需要对象的内容时,Python返回对象内存地址,python,object,memory,dictionary,Python,Object,Memory,Dictionary,规范:Python 3.3.2 我想做什么: # enter a list of names of employees # enter a list of employee numbers # zip them together def hrcat(): name = input('Please enter names of employees: ') number = input('Please enter employee numbers: ') output =
# enter a list of names of employees
# enter a list of employee numbers
# zip them together
def hrcat():
name = input('Please enter names of employees: ')
number = input('Please enter employee numbers: ')
output = zip(name,number)
print(output)
我想到了什么:
# enter a list of names of employees
# enter a list of employee numbers
# zip them together
def hrcat():
name = input('Please enter names of employees: ')
number = input('Please enter employee numbers: ')
output = zip(name,number)
print(output)
问题:
# enter a list of names of employees
# enter a list of employee numbers
# zip them together
def hrcat():
name = input('Please enter names of employees: ')
number = input('Please enter employee numbers: ')
output = zip(name,number)
print(output)
当给定两个名称和数字列表时,它返回一个对象的内存地址;有些东西看起来像这样:
>>> hrcat()
Please enter names of employees: a,b,c
Please enter employee numbers: 1,2,3
<zip object at 0x7fea10ce4b90>
>>hrcat()
请输入员工姓名:a、b、c
请输入员工编号:1,2,3
我想知道为什么它返回的是内存地址而不是该对象的实际内容?我在网上搜索了一下,但找不到解决这个问题的答案。谢谢你的见解 Python3.x中的返回一个迭代器(看起来像
)。您可以应用列表
查看内容
list(zip(name,number))
虽然,如果您只是制作一个字典,您可以忘记列表,直接使用迭代器填充它
dict(zip(name,number))
谢谢虽然当我上面问题中的输入被给出时,它返回
{'a':'1','b':'2','c':'3',',':','}
。关于逗号条目有什么想法吗?@hakuna121只需split(',')
,并可以选择应用int
@hakuna121您的zip()
调用将字符串a、b、c
和1,2,3
,这样您就可以匹配'a'
和'1'
、、、
和'b'
、'2'
,,“
和”,“
再次,以及'c'
和'3'
。重复的(“,”,“,”)
元组将被dict吃掉。当您有更多位数的数字时,这将立即中断。因此,首先,你应该split(',')
将字符串拆分成列表,然后才zip()
它们。当然,你可以在网上搜索。从未见过有人成功离线搜索。。。(新加坡国家公园)