相关疑难解决方法(0)

你如何旋转二维数组?

灵感来自Raymond Chen的帖子,假设你有一个4x4二维数组,写一个旋转90度的函数.Raymond链接到伪代码的解决方案,但我希望看到一些现实世界的东西.

[1][2][3][4]
[5][6][7][8]
[9][0][1][2]
[3][4][5][6]
Run Code Online (Sandbox Code Playgroud)

变为:

[3][9][5][1]
[4][0][6][2]
[5][1][7][3]
[6][2][8][4]
Run Code Online (Sandbox Code Playgroud)

更新:尼克的答案是最直接的,但有没有办法比n ^ 2做得更好?如果矩阵是10000x10000怎么办?

algorithm matrix multidimensional-array

295
推荐指数
16
解决办法
29万
查看次数

如何在shell中拆分字符串并获取最后一个字段

假设我有字符串1:2:3:4:5,我想得到它的最后一个字段(5在这种情况下).我如何使用Bash做到这一点?我试过cut,但我不知道如何指定最后一个字段-f.

bash split cut tokenize

279
推荐指数
9
解决办法
36万
查看次数

如何在Python中获取列表的最后一项?

我需要列表的最后9个数字,我确信有一种方法可以用切片来做,但我似乎无法得到它.我可以像这样获得前9个:

num_list[0:9]
Run Code Online (Sandbox Code Playgroud)

任何帮助都会很棒.

python list slice

256
推荐指数
5
解决办法
31万
查看次数

为什么没有列表有像字典一样安全的"获取"方法?

为什么列表没有像字典那样安全的"获取"方法?

>>> d = {'a':'b'}
>>> d['a']
'b'
>>> d['c']
KeyError: 'c'
>>> d.get('c', 'fail')
'fail'

>>> l = [1]
>>> l[10]
IndexError: list index out of range
Run Code Online (Sandbox Code Playgroud)

python exception list indexoutofboundsexception

234
推荐指数
9
解决办法
13万
查看次数

Python截断一个长字符串

如何在Python中将字符串截断为75个字符?

这是在JavaScript中完成的:

var data="saddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddsaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddsadddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
var info = (data.length > 75) ? data.substring[0,75] + '..' : data;
Run Code Online (Sandbox Code Playgroud)

python

208
推荐指数
12
解决办法
22万
查看次数

什么是pythonic方法来检测python'for'循环中的最后一个元素?

我想知道对for循环中的最后一个元素进行特殊处理的最佳方法(更紧凑和"pythonic"方式).有一段代码只能元素之间调用,在最后一个元素中被抑制.

以下是我目前的工作方式:

for i, data in enumerate(data_list):
    code_that_is_done_for_every_element
    if i != len(data_list) - 1:
        code_that_is_done_between_elements
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法?

注意:我不想使用hacks,例如使用reduce;)

python for-loop idioms fencepost

166
推荐指数
10
解决办法
15万
查看次数

Pythonic方式返回更大列表中每个第n项的列表

假设我们有一个从0到1000的数字列表.是否有一种pythonic /有效的方法来生成第一个和后续第10个项目的列表,即[0, 10, 20, 30, ... ]

是的,我可以使用for循环执行此操作,但我想知道是否有更简洁的方法来执行此操作,甚至可能在一行中?

python list

149
推荐指数
5
解决办法
18万
查看次数

sys.argv [1]在脚本中的含义

我现在正在教自己Python,只是想简单地说(参考下面的例子)sys.argv [1]代表什么.它只是要求输入吗?

#!/usr/bin/python3.1

# import modules used here -- sys is a very standard one
import sys

# Gather our code in a main() function
def main():
  print ('Hello there', sys.argv[1])
  # Command line args are in sys.argv[1], sys.argv[2] ..
  # sys.argv[0] is the script name itself and can be ignored

# Standard boilerplate to call the main() function to begin
# the program.
if __name__ == '__main__':
  main()
Run Code Online (Sandbox Code Playgroud)

python

135
推荐指数
6
解决办法
37万
查看次数

Python:从列表中获取前10个结果

有没有办法可以从列表中获取前10个结果.这样的事情可能是:

list = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]

list.fetch(10)
Run Code Online (Sandbox Code Playgroud)

python

122
推荐指数
4
解决办法
23万
查看次数

从字符串中删除前x个字符?

如何从字符串中删除前x个字符?例如,如果有一个字符串lipsum,他们将如何删除前3个字符并获得结果sum

python string

105
推荐指数
3
解决办法
18万
查看次数