我想在Python中实现HashMap.我想问一个用户输入.根据他的输入,我正在从HashMap中检索一些信息.如果用户输入HashMap的键,我想检索相应的值.
如何在Python中实现此功能?
HashMap<String,String> streetno=new HashMap<String,String>();
streetno.put("1", "Sachin Tendulkar");
streetno.put("2", "Dravid");
streetno.put("3","Sehwag");
streetno.put("4","Laxman");
streetno.put("5","Kohli")
Run Code Online (Sandbox Code Playgroud) 我声明了一个数组,如下所示:
int[] arr = new int[10];
Run Code Online (Sandbox Code Playgroud)
然后我为数组分配了以下值:
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
Run Code Online (Sandbox Code Playgroud)
然后我声明并初始化了一个整数变量:
int arrayLength = arr.length;
Run Code Online (Sandbox Code Playgroud)
这对于查找实际大小很有用,但有没有找到数组逻辑大小的方法?
我是Python的新手.实际上我用Java实现了一些东西,如下所示.
for(;;){
switch(expression){
case c1: statements
case c2: statements
default: statement
}
}
Run Code Online (Sandbox Code Playgroud)
我如何在Python中实现它?
我编写代码来反转整数数组.代码如下所示:
public class ReverseArray {
public static void main(String[] args) {
try {
int[] arr = new int[5];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr[4] = 5;
for (int i = 0; i <= arr.length/2; i++)
int temp = arr[0];
arr[0] = arr[arr.length - i - 1];
arr[arr.length - i - 1] = temp;
}
System.out.println(arr);
} catch (Exception e) {
System.out.println(e);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但它并没有扭转数组......我正在接受输出.
[I@3bad086a
Run Code Online (Sandbox Code Playgroud)
我没有看到我的逻辑有什么问题.
在这里,我编写了Java代码,以在文本文件中显示重复的数字.这里我硬编码了文本文件的路径名.我假设文本文件只包含文本文件的每一行中的数字.
我只想显示那些重复的数字.代码如下所示:
import java.util.*;
import java.io.*;
public class FileRead {
public static void main(String[] args) {
// TODO Auto-generated method stub
HashMap<String,String> lines=new HashMap<String,String>();
try{
FileInputStream fstream=new FileInputStream("C:/Users/kiran/Desktop/text.txt");
DataInputStream in=new DataInputStream(fstream);
BufferedReader br=new BufferedReader(new InputStreamReader(in));
ArrayList arr=new ArrayList();
String str,str1;
int i=0;
while((str=br.readLine())!=null){
i++;
str1=Integer.toString(i);
if(lines.containsValue(str)){
System.out.println(str);
}else{
lines.put(str1, str);
}
}
in.close();
}catch(Exception e){
System.out.println(e);
}
}
}
Run Code Online (Sandbox Code Playgroud)
文本文件的内容如下所示:
56
75
1
46
100
97
75
46
46
Run Code Online (Sandbox Code Playgroud)
预期产出是:
75
46
Run Code Online (Sandbox Code Playgroud)
这是我得到的输出:
75
46
46
Run Code Online (Sandbox Code Playgroud)
我无法找出程序中的错误.谁能帮我??
这是我的第一个Python程序.我实现了一个字典,如下所示.在这里,我试图根据用户输入检索值*(键或值)*.
例如:如果用户输入"1",那么我需要从dictioanry中检索"Sachin Tendulkar".如果用户输入"Sachin Tendulkar",那么我需要从dictioanry中检索"1".
streetno={"1":"Sachin Tendulkar","2":"Sehawag","3":"Dravid","4":"Dhoni","5":"Kohli"}
while True:
inp=input('Enter M/N:')
if inp=="M" or inp=="m":
key=raw_input( "Enter the main number :")
result=streetno.get(key)
else:
key=raw_inp("Enter the street name : ")
result=streetno.get(key)
Run Code Online (Sandbox Code Playgroud)
我认为逻辑没有错.但我无法执行它.我收到以下错误.
Python 2.7.2 (default, Jun 12 2011, 14:24:46) [MSC v.1500 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
Enter M/N:m
Traceback (most recent call last):
File "C:\Users\kiran\Desktop\Cricketpur.py", line 3, in <module>
inp=input('Enter M/N:')
File "<string>", line 1, in <module> …Run Code Online (Sandbox Code Playgroud) 我想打印从1到100的数字,但是对于3的倍数,我想要打印"快速",对于7的倍数,我想要打印"Car",对于3和7的倍数,我想要打印"Fast Car"而不是那个数字.在这里,我正在尝试使用Python实现它.这是我在Python中的第一个程序.在这里,我得到语法错误.谁能帮我这个??
for num in range(1,100)
if num%3==0 & num%7==0
print "Fast Car"
elif num%3==0
print"Fast"
elif num%7==0
print "Car"
else
print num
Run Code Online (Sandbox Code Playgroud)