Erinevus lehekülje "JavaPython:Sõnastikud" redaktsioonide vahel

Allikas: Kursused
Mine navigeerimisribale Mine otsikasti
 
(ei näidata sama kasutaja üht vahepealset redaktsiooni)
1. rida: 1. rida:
 
{{JavaPython-sisukord}}
 
{{JavaPython-sisukord}}
  
Pythoni sõnastikud on sarnased Java "map"-idele.
+
Pythoni sõnastikud on sarnased Java <b>kujutistele (map-idele).</b> Viimane kasutab erinevalt Pythonile objekti süntaksi. Literaalid puuduvad.
  
A <b>HashMap</b> is like a Python dictionary, but uses only object syntax. There are no literals. Declaration and creation look like:
+
<b>Kujutis</b> on andmekogum, kus võtmete hulga igale elemendile on vastavuses üks väärtuste hulga element. Võib vaadelda nii, et kujutis sisaldab kaheosalisi kirjeid, mille esimest komponenti nimetatakse võtmeks ja teist väärtuseks. Ühe võtmega elemente võib olla vaid üks. Kasutatakse juhul, kui on vaja kiiresti mingi väärtuse (võtme) järgi üles leida teist väärtust. Võtit ja väärtust võib vaadelda ka kui seost - võti on seotud väärtusega. Vaatame konkreetset realisatsiooni <b>räsitabel (HashMap)</b>.
 +
 
 +
<b>Räsitabeli</b> deklareerimine ja loomine näeb välja järgnevalt:
 
<pre>HashMap<keyType, valueType> variable = new HashSet<keyType, valueType>();</pre>
 
<pre>HashMap<keyType, valueType> variable = new HashSet<keyType, valueType>();</pre>
  
Some methods:  
+
Veel võimalusi:  
 
<pre>type put(key, value) (returns previous value), type get(key), boolean containsKey(key).</pre>
 
<pre>type put(key, value) (returns previous value), type get(key), boolean containsKey(key).</pre>
  
68. rida: 70. rida:
 
   
 
   
 
#return all keys
 
#return all keys
print phoneBook.keys()
+
print(phoneBook.keys())
 
   
 
   
 
#delete all the elements
 
#delete all the elements

Viimane redaktsioon: 4. veebruar 2016, kell 10:26

Java vs Python

Pythoni sõnastikud on sarnased Java kujutistele (map-idele). Viimane kasutab erinevalt Pythonile objekti süntaksi. Literaalid puuduvad.

Kujutis on andmekogum, kus võtmete hulga igale elemendile on vastavuses üks väärtuste hulga element. Võib vaadelda nii, et kujutis sisaldab kaheosalisi kirjeid, mille esimest komponenti nimetatakse võtmeks ja teist väärtuseks. Ühe võtmega elemente võib olla vaid üks. Kasutatakse juhul, kui on vaja kiiresti mingi väärtuse (võtme) järgi üles leida teist väärtust. Võtit ja väärtust võib vaadelda ka kui seost - võti on seotud väärtusega. Vaatame konkreetset realisatsiooni räsitabel (HashMap).

Räsitabeli deklareerimine ja loomine näeb välja järgnevalt:

HashMap<keyType, valueType> variable = new HashSet<keyType, valueType>();

Veel võimalusi:

type put(key, value) (returns previous value), type get(key), boolean containsKey(key).

Näide

Java Python
<syntaxhighlight lang="java" line="1" >

HashMap<String, String> phoneBook =

                       new HashMap<String, String>();

phoneBook.put("Mike", "555-1111"); phoneBook.put("Lucy", "555-2222"); phoneBook.put("Jack", "555-3333");

//iterate over HashMap Map<String, String> map = new HashMap<String, String>(); for (Map.Entry<String, String> entry : map.entrySet()) {

   System.out.println("Key = " + entry.getKey() +
     ", Value = " + entry.getValue());

}

//get key value phoneBook.get("Mike");

//get all key Set keys = phoneBook.keySet();

//get number of elements phoneBook.size();

//delete all elements phoneBook.clear();

//delete an element phoneBook.remove("Lucy"); </syntaxhighlight>

<syntaxhighlight lang="python" line="2" >
  1. create an empty dictionary

phoneBook = {} phoneBook = {"Mike":"555-1111",

            "Lucy":"555-2222", 
            "Jack":"555-3333"}

  1. iterate over dictionary

for key in phoneBook:

   print(key, phoneBook[key])

  1. add an element

phoneBook["Mary"] = "555-6666"

  1. delete an element

del phoneBook["Mike"]

  1. get number of elements

count = len(phoneBook)

  1. can have different types

phoneBook["Susan"] = (1,2,3,4)

  1. return all keys

print(phoneBook.keys())

  1. delete all the elements

phoneBook.clear() </syntaxhighlight>