我的代码中有以下内容:
$my_count = count($total_elements[$array_object]);
Run Code Online (Sandbox Code Playgroud)
$my_count现在包含了元素的数量$total_elements[$array_object].我想将这个数字转换成相应的自然数(零,一,二,......)
在这个特定情况下,我只有5个数字:
$numbers = array(
2 => 'two',
3 => 'three',
4 => 'four',
5 => 'five',
6 => 'six',
);
Run Code Online (Sandbox Code Playgroud)
如何检索给定数组中的元素数量,然后echo从数组中检索相应的自然数(人类可读数字)?或者更好 - 有更好的方法吗?
(我已经找到了一些功能或类来做到这一点 - 但是现在对于我现在需要的简单情况来说这些太过臃肿了)
现在,我当然可以这样做switch():
switch ($my_count) {
case 0:
echo "zero";
break;
case 1:
echo "one";
break;
case 2:
echo "two";
break;
// etc...
}
Run Code Online (Sandbox Code Playgroud)
但它看起来对我来说并不优雅.如果一个人拥有超过10个数字,那也是非常愚蠢的.
我确信有一种更优雅的方式来实现这一点,即使现在我只有5个数字,我希望在其他情况下有一些功能可以重复使用.
(我很抱歉,如果这是一个愚蠢的问题-但是-搜索这里SE或谷歌的关键字PHP- words和count()我只找到相关的计数串话回答)
当我使用ls -la和时ls -lah,我似乎得到相同文件的不同数字.
gillin@mt:/home/vanilla/wmt-data/lm$ ls -lah *
-rw-rw-r-- 1 vanilla vanilla 68G Aug 5 03:57 lm.6gram.de.arpa.gz
-rw-rw-r-- 1 vanilla vanilla 25G Aug 4 07:32 lm.6gram.fr.arpa.gz
-rw-rw-r-- 1 vanilla vanilla 29G Aug 5 07:41 lm.6gram.ru.arpa.gz
gillin@mt:/home/vanilla/wmt-data/lm$ ls -la *
-rw-rw-r-- 1 vanilla vanilla 72726733721 Aug 5 03:57 lm.6gram.de.arpa.gz
-rw-rw-r-- 1 vanilla vanilla 26482284407 Aug 4 07:32 lm.6gram.fr.arpa.gz
-rw-rw-r-- 1 vanilla vanilla 30777650366 Aug 5 07:41 lm.6gram.ru.arpa.gz
Run Code Online (Sandbox Code Playgroud)
Hows的-h参数是否与文件大小相同?
为什么-lah尺寸如此不同?-la
假设我希望在R中硬编码数据帧.
my_df = data.frame(list(Name=c("foo", "bar", "baz", "qux"),
Result=c("Hello", NA, "foobar", "World")))
Run Code Online (Sandbox Code Playgroud)
如果数据帧更长(例如,如果它包括几十行),则不会立即直观地baz与之相关foobar(即,这两个值共享同一行).
是否有一种在视觉上更加人性化的方式对R中的数据帧进行硬编码?
编辑1:
为了澄清我的问题,我不是在寻找一种替代方法来格式化数据帧的硬编码(例如通过用空格隔开单词来对齐两行).相反,我正在寻找的是一种方法,例如,按行指定数据框.
我正在尝试改用 Scapy 而不是 Wireshark,但是在解码我获得的数据时遇到了问题。在 Wireshark 中,我可以很容易地看到标记为“分布式交互式模拟”的过滤数据包的最后一层,但在 Scapy 中,最后一层是“原始”。我正在尝试以相同的人类可读格式从该层获取数据。到目前为止,我已经得到:
# Capture with Scapy
from scapy.all import sniff
capture = sniff(filter="dst 10.6.255.255 and port 3000", count=5)
packet = capture[0]
raw = pkt.lastlayer()
print(raw)
<Raw load='\x068\x14\x05L\x88nK\x00x\x00\x00\x00\x94\x08\x88\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x9f\x00\x00\x02 \x00\x01sj\x9b\xf4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04p\x00\x08\x00\x00\x00\x00\x00\x00d\xe9Y<\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x8c\x00\x00\x113\x00\x00\x00\x01\x00\x02\x0c\x00\x00\x00\x01\x02\x00\x00\x00\x041187\x00\x00\x00\x00\x00' |>
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我如何使这个人类可读吗?
我想要列表的语法上正确的人类可读的字符串表示形式。例如,列表['A', 2, None, 'B,B', 'C,C,C']应返回字符串A, 2, None, B,B, and C,C,C。这个人为的例子有些必要。请注意,牛津逗号与此问题有关。
我试过了,', '.join(seq)但是对于上述示例并没有产生预期的结果。
请注意预先存在的类似问题:
对于大多数数字,我们知道任何浮点值都会存在一些精度误差。对于 32 位浮点数,计算出大约 6 位有效数字,在您开始看到不正确的值之前,这将是准确的。
我正在尝试存储一个人类可读的值,该值可以读入并重新创建序列化值的位精确重新创建。
例如,该值555.5555存储为555.55548095703125; 但是当我 serialize 时555.55548095703125,理论上我可以将它序列化为范围内的任何内容(555.5554504395, 555.555511475)(独占)并且仍然获得相同的字节模式。(实际上,可能这不是确切的范围,我只是不知道目前更准确地计算它是否有价值。)
我想要的是为该值找到最人类可读的字符串表示形式——我认为这将是最少的数字——它将被反序列化为相同的 IEEE 浮点数。
在定义attr_accessor非常大的常量或符号时,我该怎么办?例如,像这样:
ATTRIBUTES = %w(id name full_name owner private html_url description fork url forks_url keys_url collaborators_url teams_url hooks_url issue_events_url events_url assignees_url branches_url tags_url blobs_url git_tags_url git_refs_url trees_url statuses_url languages_url stargazers_url contributors_url subscribers_url subscription_url commits_url git_commits_url comments_url issue_comment_url contents_url compare_url merges_url archive_url downloads_url issues_url pulls_url milestones_url)
attr_accessor :name, :login, :full_name, :owner, :private, :html_url, :description, :fork, :url
Run Code Online (Sandbox Code Playgroud)
在课堂上很糟糕.这是最好的方法吗?我想知道是否还有其他方法可以提高可读性.
我们如何在 python 中显示人类可读的字节大小?
我们需要转换大量不可读的int结果,例如os.stat(r'C:\1.pdf').st_size
(下面用 3.6 以上的 python 版本的 f-strings 回答我自己的问题,如果它们适用于其他 python 版本或其他格式化方式,请添加您自己的答案)
我想编写一个方法,提供一个人类可读的数组字符串表示,必要时包含逗号空格(包括牛津逗号),最后连接"和".
例如,假设我有这些数组:
NSArray *nun = @[];
NSArray *won = @[@"The Loneliest"];
NSArray *too = @[@"Peas", @"Pod"];
NSArray *tree = @[@"Apple", @"Falls", @"Far, Far Away"];
Run Code Online (Sandbox Code Playgroud)
我想写一个方法,如:
+ (NSString*) humanReadableListFromArray: (NSArray*) arr
{
// magic
}
Run Code Online (Sandbox Code Playgroud)
当我通过我的数组时,我希望它们看起来像这样:
@""
@"The Loneliest"
@"Peas and Pod"
@"Apple, Falls, and Far, Far Away"
Run Code Online (Sandbox Code Playgroud)
请注意,第一个只有1个项目,只是没有装饰的第一个项目.第二个,正好有两个项目,没有逗号,但确实有连接"和".第三项,包含两个以上的项目,每个项目之间包含一个逗号空间,最后一项包括and在逗号空间之后和项目之前的附加项目.
在Objective C中有一个简短的方法吗?我已经用Java等语言完成了这项工作,但我知道Objective C这样的方法-(NSString*)[NSArray componentsJoinedByString:]可能有助于实现这一点.
使用"和"替换字符串中的最后一个逗号无法解答此问题.(Objective-C)因为它没有解决最后一个数组项中的逗号.我也研究了像Objective-C这样的问题从对象数组中创建逗号分隔字符串的最简单方法,他们没有提到人类可读性这个很好的部分.
human-readable ×10
python ×3
python-3.x ×2
readability ×2
arrays ×1
cocoa ×1
coding-style ×1
count ×1
dataframe ×1
f-string ×1
format ×1
list ×1
ls ×1
objective-c ×1
php ×1
precision ×1
python-3.6 ×1
r ×1
ruby ×1
scapy ×1
size ×1
string ×1
unix ×1
words ×1