这是我的代码,我需要在列表中总结一些未定义的元素.这该怎么做?
l = raw_input()
l = l.split(' ')
l.pop(0)
Run Code Online (Sandbox Code Playgroud)
我的输入:3 5 4 9
输入后我删除了第一个元素l.pop(0).在.split(' ')我的列表之后['5', '4', '9'],我需要汇总此列表中的所有元素.
在这种情况下,总和为18.请注意,未定义元素数量.
我想知道Python如何进行字符串比较,更具体地说,它是如何在使用小于(<)或大于(>)运算符时确定结果的.
例如,如果我把print('abc' < 'bac')我得到True.我理解它比较了字符串中的相应字符,但是由于缺乏更好的术语而不清楚为什么还有更多的字符,"权重"放在第一个字符串中的a小于b(第一个位置)而不是a在第二个字符串(第二个位置)中小于b的事实.
我尝试使用raw_input()获取数字列表,但是使用代码
numbers = raw_input()
print len(numbers)
Run Code Online (Sandbox Code Playgroud)
输入[1,2,3]给出了结果7,所以我猜它将输入解释为是一个字符串.有没有直接的方法来制作清单?也许我可以re.findall用来提取整数,但如果可能的话,我宁愿使用更多的Pythonic解决方案.
我有一个字符串"42 0"(例如),需要获取两个整数的数组.我可以.split在空间上做吗?
例如,我想检查一个字符串,如果它不能转换为整数(with int()),我该如何检测?
有没有办法使用sort()方法或任何其他方法按列对列表进行排序?让我们说清单:
[
[John,2],
[Jim,9],
[Jason,1]
]
Run Code Online (Sandbox Code Playgroud)
我想对它进行排序,使它看起来像这样:
[
[Jason,1],
[John,2],
[Jim,9],
]
Run Code Online (Sandbox Code Playgroud)
这样做的最佳方法是什么?
编辑:
现在我遇到索引超出范围错误.我有一个二维数组,可以说1000行b 3列.我想根据第三列对其进行排序.这是正确的代码吗?
sorted_list = sorted(list_not_sorted, key=lambda x:x[2])
Run Code Online (Sandbox Code Playgroud) 我有一串数字,如:
example_string = '0, 0, 0, 11, 0, 0, 0, 0, 0, 19, 0, 9, 0, 0, 0, 0, 0, 0, 11'
Run Code Online (Sandbox Code Playgroud)
我想将其转换为列表:
example_list = [0, 0, 0, 11, 0, 0, 0, 0, 0, 19, 0, 9, 0, 0, 0, 0, 0, 0, 11]
Run Code Online (Sandbox Code Playgroud)
我尝试过类似的东西:
for i in example_string:
example_list.append(int(example_string[i]))
Run Code Online (Sandbox Code Playgroud)
但这显然不起作用,因为字符串包含空格和逗号.但是,删除它们不是一种选择,因为像"19"这样的数字会被转换为1和9.你能帮我解决这个问题吗?
众所周知,使用eval()是一种潜在的安全风险,因此ast.literal_eval(node_or_string)促进了使用
但是在python 2.7中,它ValueError: malformed string在运行此示例时返回:
>>> ast.literal_eval("4 + 9")
Run Code Online (Sandbox Code Playgroud)
而在python 3.3中,此示例按预期工作:
>>> ast.literal_eval('4+9')
13
Run Code Online (Sandbox Code Playgroud)
为什么它运行在python 3而不是python 2?如何在不使用冒险eval()功能的情况下在python 2.7中修复它?
所以在我的代码中我通常这样做将字符串转换为int,但我想知道是否有一种不那么笨拙的方式,因为它感觉有点长.
my_input = int(my_input)
Run Code Online (Sandbox Code Playgroud)
也许这就是它必须如何,但如果你有任何想法,请提前感谢.
如何将空格分隔的整数输入转换为整数列表?
输入示例:
list1 = list(input("Enter the unfriendly numbers: "))
Run Code Online (Sandbox Code Playgroud)
转换示例:
['1', '2', '3', '4', '5'] to [1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud) python ×10
list ×5
string ×4
integer ×3
arrays ×2
python-3.x ×2
comparison ×1
converter ×1
input ×1
int ×1
python-2.7 ×1
raw-input ×1
sorting ×1
split ×1
sum ×1