列表示例是
1inList = [1.1, 2017, 3+4j, 'superbowl', (4, 5), [1,2,3,5,12],{"make":'BMW',"model":'X5'}]
基本上,我需要编写一个程序,它遍历一个列表,并打印每个列表元素及其数据类型。
刚接触过python,需要帮助才能开始。谢谢
谷歌?这是关于python 101的问题。
我只是在寻找一个起点。没有意识到这很基本。
你这样写道:"我需要编写一个程序,它遍历一个列表,并将每个列表元素及其数据类型打印出来。"你当时很难过,因为"我尝试过谷歌"。只能找到相关材料,但没有这方面的具体内容。"
你真正的问题是你还没有学会用谷歌搜索程序问题的答案。关键是将问题分解为子问题,并搜索如何解决每个问题:
遍历列表
获取数据类型
打印元素和数据类型
我在谷歌上搜索了一下python的列表。第一个结果是练习32:循环和从学习python中列出硬方法,其中包括以下代码:
1
2
3
4the_count = [1, 2, 3, 4, 5]
# this first kind of for-loop goes through a list
for number in the_count:
print"This is count %d" % number
这一结果
1
2
3
4
5This is count 1
This is count 2
This is count 3
This is count 4
This is count 5
现在我在谷歌上搜索python determine数据类型。第一个结果是堆栈溢出问题:如何确定python中的变量类型。以下是其中一个答案的相关片段:使用type。
1
2>>> type(one)
现在我们知道了如何迭代以及如何获得一个类型。我们知道如何打印,但不知道如何同时打印两件东西。让我们谷歌搜索python print。第二个结果是Python2.7教程的输入和输出部分。事实证明,一次打印多个内容有很多种方法,但页面上的一个简单示例是。
1
2>>> print 'We are the {} who say"{}!"'.format('knights', 'Ni')
We are the knights who say"Ni!"
把这些放在一起,我们得到:
1
2for item in inList:
print '{} {}'.format(item, type(item))
哪些印刷品:
1
2
3
4
5
6
71.1
2017
(3+4j)
superbowl
(4, 5)
[1, 2, 3, 5, 12]
{'make': 'BMW', 'model': 'X5'}
这是一个非常基本的问题,您只需查看有关控制流的文档就可以轻松地回答这个问题。
1
2for element in inList:
print element, type(element)
你问题的简短回答是:
1print map(lambda x: (x, type(x).__name__), inList)
这里使用的map函数有两个参数:
要应用的功能;
要迭代的数组。
此函数迭代数组的每个元素,并将给定的函数应用于每个元素。将应用程序的结果放入此函数返回的新数组中。
此外,这里还可以看到定义匿名函数的lambda关键字。它以x作为参数,然后返回包含该参数的对,以及该参数类型的字符串化。