我列出了可能的单词来制作给定单词的字谜.每个列表的字符串都是字典的关键,并且具有一个或多个单词的值.哪种是最好的(最快的,pythonic)方法,按照字典中相应键的每个列表中的单词的键的顺序来制作所有可能的句子.列表中包含可变数量的键.
keylist = ['key1', 'key2', 'key3']
worddict = {'key1': ['a','b','c'], 'key2':['d','e','f'], 'key3':['g','h','i']}
Run Code Online (Sandbox Code Playgroud)
预期结果(第一个键列表中的第一个单词,第二个键列表中的第二个单词,依此类推):
["a d g",
"a d h",
"a d i",
.....
"c f i"]
Run Code Online (Sandbox Code Playgroud) 我坚持这个想法:如何在一个句子中获得第二长的单词?我将在我的代码中使用它作为退出路径,其中最长的单词可能无法通过测试.有任何想法吗 ?提前致谢.
我有一个文件包含这个:
((S000383212:0.0,JC0:0.244562):0.142727,(S002923086:0.0,(JC1:0.0,JC2:0.0):0.19717200000000001):0.222151,((S000594619:0.0,JC3:0.21869):0.13418400000000003,(S000964423:0.122312,JC4:0.084707):0.18147100000000002):0.011521999999999977);
Run Code Online (Sandbox Code Playgroud)
我有两个字典包含:
org = {'JC4': 'a','JC0': 'b','JC1': 'c','JC2': 'c','JC3': 'd'}
RDP = {'S000383212': 'hello', 'S002923086': 'this', 'S000594619': 'is'}
Run Code Online (Sandbox Code Playgroud)
每当它说出其中一个词典中的一个词并将其转换为另一个词时,我怎么能找到它?
即如果它遇到'JC0'那么它会把它翻译成'b'
我想知道为什么下面的代码不能像下面的代码那样工作.代码应该做的是删除多个连续的空格并只显示一个空格:所以"它的工作原理"变成"它的工作原理".第一段代码就像"它的工作原理"一样.
不行
#include <stdio.h>
main(){
int c;
int lastspace;
lastspace = 0;
while((c = getchar()) != EOF){
if(c != ' ')
putchar(c);
lastspace = 0;
if(c == ' '){
if(lastspace == 0){
lastspace = 1;
putchar(c);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
作品
#include <stdio.h>
main(){
int c
int lastspace;
lastspace = 0;
while((c = getchar()) != EOF){
if(c != ' ')
putchar(c);
if(c == ' '){
if(lastspace != c){
lastspace = c;
putchar(c);
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我试图找到Python中最长的单词,但我得到了错误的结果.下面的代码是以交互模式完成的.我应该收到'商品'(10个字符)作为最长的单词/字符串但我得到'欢迎'(7个字符)而不是.
str = 'welcome to the merchandise store' #string of words
longest = [] #empty list
longest = str.split() #put strings into list
max(longest) #find the longest string
'welcome' #Should've been 'merchandise?'
Run Code Online (Sandbox Code Playgroud) 我有所有者名字的字符串,我需要确定它们是否包含两次姓氏.
例如,我的所有者名称可能是" BENNETT MCCARL&ARNETTE BENNETT ".
如果在字符串中找到任何单词两次,我想返回True,如果字符串中的所有单词都是唯一的,则返回False.
有谁知道如何使用Python做到这一点?
我想在 flutter 中创建一个词云。有办法制作吗?例如,如果我有一个列表
List words = ['banana','banana','banana','banana','purple','orange','apple','apple','green']
Run Code Online (Sandbox Code Playgroud)
我希望重复几次的元素以大字体显示,重复几次的元素以小字体显示。
需要从文件中返回包含3个或更多单词的所有单词的流.是否有更好的方式,然后使用Stream.iterate:
private Stream<String> getWordsStream(String path){
Stream.Builder<String> wordsStream = Stream.builder();
FileInputStream inputStream = null;
try {
inputStream = new FileInputStream(path);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
Scanner s = new Scanner(inputStream);
s.useDelimiter("([^a-zA-Z])");
Pattern pattern = Pattern.compile("([a-zA-Z]{3,})");
while ((s.hasNext())){
if(s.hasNext(pattern)){
wordsStream.add(s.next().toUpperCase());
}
else {
s.next();
}
}
s.close();
return wordsStream.build();
}
Run Code Online (Sandbox Code Playgroud) 我想打一个打印的话,该号码的程序启动以大写字母。所以我做了两个字符串str1 = "The deed is done"和str2 = "My name is Bond, JAMES Bond"。对于第一个字符串,它打印了我想要的 1。但是对于第二个,它打印 8 而不是 4,因为它JAMES是大写的。
public static void main(String[] args){
String str1 = "The deed is done";
String str2 = "My name is Bond, JAMES Bond";
System.out.println(uppercase(str2));
}
public static int uppercase(String str){
int cnt = 0;
for(int i = 0; i < str.length(); i++){
if(Character.isUpperCase(str.charAt(i)))
cnt++;
}
return cnt;
}
Run Code Online (Sandbox Code Playgroud)
这就是我到目前为止所拥有的。我如何才能不计算该单词中的其他字母?
我有 99% 的人使用正则表达式来查找单词,但没有将其作为子字符串出现的任何迭代。
即寻找jam或JAM但不是 Pa jam a 或 floro jam
这是我到目前为止:
\bjam\s?\d?\b
Run Code Online (Sandbox Code Playgroud)
它适用于我可能遇到的所有组合,除了我希望它也能在没有空格的情况下接收同一字符串的多次迭代
jamjamjamjam
Run Code Online (Sandbox Code Playgroud)
我可以将它添加到正则表达式吗?
cpu-word ×10
python ×5
dictionary ×2
java ×2
string ×2
builder ×1
c ×1
combinations ×1
count ×1
counting ×1
dart ×1
file ×1
flutter ×1
java-stream ×1
javascript ×1
list ×1
loops ×1
process ×1
regex ×1
spaces ×1
split ×1
text ×1
translate ×1
uppercase ×1
word-cloud ×1