我对Python还是很陌生的,我正在学习嵌套字典和嵌套列表,以及如何从它们中提取值。我有一个名为mylst的对象,它有一个元组列表,每个元组有3个项。有谁能帮我解释一下下面的内容,以便我了解test对象是怎么回事?
谢谢。
test = [fruit for fruit in mylst if "Lemons" in fruit[2]]
从列表中提取整数
test = query_database("SELECT SUM(try) FROM tries where number=?", (nb,))
print test
我得到的结果是(100,)
当我从列表中提取值时,如下所示:
for i in test:
print i
结果是(100,)
如何只提取100作为整数,没有括号和逗号?
我有以下函数,它返回一个列表
def get_entered_datalist(firstname, lastname):
if firstname and lastname:
curr = db.session.execute(entered_data, {'firstname': firstname, 'lastname': lastname})
list_name = list() #this is a list contstructor statement so have () brackets, usually
我目前正在使用一个示例,通过Python从MySQL中选择一个变量。为此,我使用MySQLdb导入。
这一切都运行得很好,我可以从MySQL获取值,但是当我打印结果时,它返回如下:
('text',)
有没有办法让它显示为
text
我使用的代码是:
try:
cursor.execute("""SELECT value FROM settings WHERE name='text'""")
results = cursor.fetchone()
print resu
所以我一直在用Python编写一个小程序,逻辑似乎工作得很好,直到最后一步,它检索结果。Codewise,它类似于:
...
list1 = [(string,string,int),(string,string,int)...]
print(list1[0[0]])
这抛出了一个TypeError: 'int' object is not subscriptable错误,我正在努力找出原因。当然,这只意味着打印列表(元组1)的索引0,然后打印该列表(字符串)的索引0?我该如何把这个值从列表中取出呢?
Python 3.1
我正在遵循这样的设计理念,即元组应该具有已知的长度(参见),并且在大多数情况下,未知长度的元组应该替换为列表。我的问题是,在什么情况下,我应该偏离该规则?
例如,我知道从字符串和数值型文字创建元组比从列表创建元组更快(参见)。因此,如果我有性能关键型代码,其中有许多计算,比如sumproduct(tuple1, tuple2),我是否应该重新定义它们以在性能影响的情况下处理列表?(sumproduct((x, y, z), (a, b, c))被定义为x * a + y * b + z * c,它的参数具有未指定但相等的长度)。
当使用def f(*x)时,由Python
目前,我有一个从文本文档中找到的列表,并使用for循环进行搜索:
for sublist in mylist:
if sublist[2] == inp:
print (formatting(sublist))
这将从主列表(mylist)中查找所有内容,并创建所需值的子列表。然后,我想通过一个函数将其转换为正确的格式。
功能:
def formatting(sublist):
new_lis = []
widths = [max(map(len, col)) for col in zip(*sublist)]
for row in sublist:
假设我有3个列表,每个列表都有从(0-9)范围内的随机数 digit_0 = [0, 1, 2, 3, 5, 8]
digit_1 = [1, 2, 3, 8, 9]
digit_2 = [3, 4, 6, 7] 我想为3 -digit number ABC创建所有可能的数字,这样A只能从digit_0获取值,B只能从digit_1获取值,而C只能从digit_2数组获取值 最简单的解决方案似乎是创建3个循环 for A in digit_0:
for B in digit_1:
for C in digit_2: 然而,我想知道有没有更有效的解决方案?