我想这样打印答案" 15"但是我不确定我将如何准确地解决这个问题,我希望列表可以用于任何数字集,以便" int(input())可以工作。
到目前为止,这是我的代码:
x = [5,1,2,3,4,5]
xs = [x for i in range(x)]
print(sum([xs[i] for i in range(len(xs))
if xs[i] not in xs[:i] + xs[i + 1:]]))
答案 0 :(得分:2)
只需汇总列表的set
:
sum(set(x))
set
将(有效)删除重复项。
如果你input
要求总和的元素;你需要将你得到的字符串转换为整数列表; e.g;
inp = input() # e.g. '1,2,3,4,5'
x = [int(i) for i in inp.split(',')]
# or directly remove the duplicates:
x = set(int(i) for i in inp.split(','))
只有int(input())
无效,因为您无法直接获得列表;像[int(i) for i in input()]
这样的东西可能但不是很好的设计...
这一切都取决于你想要的输入。
答案 1 :(得分:1)
您可以使用set创建唯一列表。
sum(set(x))
{1,2,3,4,5}
你可以总结一下
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<item android:id="@+id/action_search"
android:icon="@android:drawable/ic_menu_search"
android:title="Search"
android:iconifiedByDefault="false"
app:showAsAction="always"
app:actionViewClass="android.support.v7.widget.SearchView"/>
15