Python 如何将元组的元素一起添加到列表中?

Python 如何将元组的元素一起添加到列表中?,python,tuples,Python,Tuples,我这里有一个元组列表: myList = [('2012-01-01', '09:00', 'San Jose', "Men's Clothing", '214.05', 'Amex'), ('2012-01-01', '09:00', 'Fort Worth', "Women's Clothing", '153.57', 'Visa'), ('2012-01-01', '09:00', 'San Diego', 'Music', '66.08', '

我这里有一个元组列表:

myList = [('2012-01-01', '09:00', 'San Jose', "Men's Clothing", '214.05', 'Amex'), 
          ('2012-01-01', '09:00', 'Fort Worth', "Women's Clothing", '153.57', 'Visa'), 
          ('2012-01-01', '09:00', 'San Diego', 'Music', '66.08', 'Cash')]
我用这个来访问第五个元素,即物品的价格

for x in range(len(myList)):
    sales = myList[x][4]
print(sales)
我试着通过这样做来增加价格,但不起作用:

for x in range(len(myList)):
    sales += myList[x][4]
print(sales)
错误:

UnboundLocalError: local variable 'totalSales' referenced before assignment

我的问题是:如何正确地将它们相加?

它不起作用,因为该项是字符串,而不是数字。您可以将其转换为float,它应该可以工作

sales = 0
for x in range(len(myList)):
    sales += float(myList[x][4])
您可以使用,&方法获得结果

myList = [('2012-01-01', '09:00', 'San Jose', "Men's Clothing", '214.05', 'Amex'), 
          ('2012-01-01', '09:00', 'Fort Worth', "Women's Clothing", '153.57', 'Visa'), 
          ('2012-01-01', '09:00', 'San Diego', 'Music', '66.08', 'Cash')]

print sum(float(i[4]) for i in myList)
结果

433.7

您可以使用以下内置的单线解决方案:

输出:

>>> sales = sum(float(item[4]) for item in myList)
>>> sales
433.7

您需要初始化
sales
变量,并在循环遍历元组列表时将每个字符串的
float
值添加到该变量中

myList = [('2012-01-01', '09:00', 'San Jose', "Men's Clothing", '214.05', 'Amex'), 
          ('2012-01-01', '09:00', 'Fort Worth', "Women's Clothing", '153.57', 'Visa'), 
          ('2012-01-01', '09:00', 'San Diego', 'Music', '66.08', 'Cash')]

sales = 0

for x in range(len(myList)):
    sales += float(myList[x][4])

print(sales)
# 433.7
您可以在循环中不使用
range()
len()

sales = 0

for tup in myList:
    sales += float(tup[4])

print(sales)
# 433.7
也可以使用生成器表达式:

print(sum(float(tup[4]) for tup in myList))
# 433.7

“不起作用”是什么意思?我得到的错误是
UnboundLocalError:分配前引用的局部变量“totalSales”
@code>您需要给计数器一个初始值:
sales=0
print(sum(float(tup[4]) for tup in myList))
# 433.7