Python 如何将多列表数据集中的每个元素分配给变量?
在下面的列表中,我试图在db中插入每个姓名和电话号码。所以我尝试迭代并将其分配给一个变量,并在insert语句中使用它Python 如何将多列表数据集中的每个元素分配给变量?,python,Python,在下面的列表中,我试图在db中插入每个姓名和电话号码。所以我尝试迭代并将其分配给一个变量,并在insert语句中使用它 contactlist = [ ['Siemens, Harper', '323-4149'], ['Smith, Patti', '239-1212'], ['Jackson, Janet', '313-1352'], ['Manfredi, Ralph','872-2221'], ['Thompson, Bobby', '365-2622']
contactlist = [
['Siemens, Harper', '323-4149'],
['Smith, Patti', '239-1212'],
['Jackson, Janet', '313-1352'],
['Manfredi, Ralph','872-2221'],
['Thompson, Bobby', '365-2622'],
['James, Lebron', '457-6223'],
['Ziegler, Zig', '667-1101'],
['Robbins, Tony', '329-2310']
]
这就是我一直在尝试的:
a = []
for data in contactlist:
#print (data)
print (data[0])
for d1 in data:
#print (d1)
a.append(d1)
print (a)
您可以使用functools
from functools import reduce
reduce(lambda m,n: m+n,contanctlist)
在代码中
>>> contactlist = [
... ['Siemens, Harper', '323-4149'],
... ['Smith, Patti', '239-1212'],
... ['Jackson, Janet', '313-1352'],
... ['Manfredi, Ralph','872-2221'],
... ['Thompson, Bobby', '365-2622'],
... ['James, Lebron', '457-6223'],
... ['Ziegler, Zig', '667-1101'],
... ['Robbins, Tony', '329-2310']
... ]
>>> a = reduce(lambda m,n: m+n,contactlist)
>>> a
['Siemens, Harper', '323-4149', 'Smith, Patti', '239-1212', 'Jackson, Janet', '313-1352', 'Manfredi, Ralph', '872-2221', 'Thompson, Bobby', '365-2622', 'James, Lebron', '457-6223', 'Ziegler, Zig', '667-1101', 'Robbins, Tony', '329-2310']
根据瓦伦的评论
contactlist = [
['Siemens, Harper', '323-4149'],
['Smith, Patti', '239-1212'],
['Jackson, Janet', '313-1352'],
['Manfredi, Ralph','872-2221'],
['Thompson, Bobby', '365-2622'],
['James, Lebron', '457-6223'],
['Ziegler, Zig', '667-1101'],
['Robbins, Tony', '329-2310']
]
phone_list = []
person = []
for contact in contactlist:
phone_list.append(contact[1])
person.append(contact[0])
print phone_list
print person
据我所知,你打错电话了。您的
联系人列表是一个列表列表。因此,您可以像以前那样访问每个条目。如果您需要数字,请按如下方式输入该数据的第二个条目:
联系人列表中数据的:
名称=数据[0]
数字=数据[1]
打印“名称:%s,编号%s%”(名称,编号)
不用打印条目,您可以对变量执行任何需要的操作,将它们添加到数据库中。看看这个:,一种方法是创建一个插入命令中的字符串
contactlist = [
['Siemens, Harper', '323-4149'],
['Smith, Patti', '239-1212'],
['Jackson, Janet', '313-1352'],
['Manfredi, Ralph','872-2221'],
['Thompson, Bobby', '365-2622'],
['James, Lebron', '457-6223'],
['Ziegler, Zig', '667-1101'],
['Robbins, Tony', '329-2310']
]
str([tuple(i) for i in contactlist])[1:-1]
印刷品
"('Siemens, Harper', '323-4149'), ('Smith, Patti', '239-1212'), ('Jackson, Janet', '313-1352'), ('Manfredi, Ralph', '872-2221'), ('Thompson, Bobby', '365-2622'), ('James, Lebron', '457-6223'), ('Ziegler, Zig', '667-1101'), ('Robbins, Tony', '329-2310')"
但是看看Python文档,这是不必要的。考虑这个
完整示例:():
数据库现在包含一个名为employees的表,其中包含以下行:
('Siemens, Harper', '323-4149')
('Smith, Patti', '239-1212')
('Jackson, Janet', '313-1352')
('Manfredi, Ralph', '872-2221')
('Thompson, Bobby', '365-2622')
('James, Lebron', '457-6223')
('Ziegler, Zig', '667-1101')
('Robbins, Tony', '329-2310')
只是一个建议,但在你对Kallz帖子的评论中,你说“我在上面发布的代码中也得到了相同的输出,但我的问题是我想提取个人姓名和电话号码”
为此,您可能需要使用字典
Contacts={}
Contacts['Barry']="184788174"
Contacts['Stewart']="1515174"
Contacts['Sarah']="1252358174"
print(Contacts['Barry'])
返回:
184788174
Barry :
184788174
Stewart :
1515174
Sarah :
1252358174
或显示所有:
Contacts={}
Contacts['Barry']="184788174"
Contacts['Stewart']="1515174"
Contacts['Sarah']="1252358174"
for data in Contacts:
print(data, ":")
print(Contacts[data], """
""")
返回:
184788174
Barry :
184788174
Stewart :
1515174
Sarah :
1252358174
您所指的db
可能重复?我在上面发布的代码中也得到了相同的输出,但我的问题是我想提取个人姓名和电话号码numbers@Varun你想要两张名单一张是人名,另一张是电话号码谢谢:)@kallzYup这正是我要找的。谢谢:))